Systems and methods for sparse code multiple access

ABSTRACT

Coding gains can be achieved by encoding binary data directly to multi-dimensional codewords, which circumvents QAM symbol mapping employed by conventional CDMA encoding techniques. Further, multiple access can be achieved by assigning different codebooks to different multiplexed layers. Moreover, sparse codewords can be used to reduce baseband processing complexity on the receiver-side of the network, as sparse codewords can be detected within multiplexed codewords in accordance with message passing algorithms (MPAs).

This application claims the benefit of U.S. Provisional Application61/727,486 filed on Nov. 16, 2012, entitled “Systems and Methods forSparse Code Multiple Access,” which is incorporated herein by referenceas if reproduced in its entirety.

TECHNICAL FIELD

The present invention relates to communications, and, in particularembodiments, to systems and methods for sparse code multiple access.

BACKGROUND

Code division multiple access (CDMA) is a multiple access technique inwhich the data symbols are spread out over orthogonal or near orthogonalcode sequences. Traditional CDMA encoding is a two step process in whicha binary code is mapped to a quadrature amplitude modulation (QAM)symbol before a spreading sequence is applied. While traditional CDMAencoding can provide relatively high coding rates, newtechniques/mechanisms for achieving even higher coding rates are neededto meet the ever-growing demands of next-generation wireless networks.

SUMMARY OF THE INVENTION

Technical advantages are generally achieved, by embodiments of thisdisclosure which describe systems and methods for sparse code multipleaccess.

In accordance with an embodiment, a method for multiplexing data isprovided. In this example, the method includes receiving a first binarydata associated with a first multiplexed layer, encoding the firstbinary data by selecting a first codeword from a first codebook, andmultiplexing the first codeword with at least a second codeword from asecond codebook to obtain multiplexed codewords. The first codebook isassigned exclusively to the first multiplexed layer, and the secondcodebook is assigned exclusively to a second multiplexed layer. Themethod further includes transmitting the multiplexed codewords overshared resources of a network. An apparatus for performing this methodis also provided.

In accordance with another embodiment, a method for receiving data isprovided. In this example, the method includes receiving a signalcarrying multiplexed codewords. The multiplexed codewords includecodewords belonging to multiple codebooks, with each codebook beingassigned to a different multiplexed layer. The method further includesidentifying a first codewords within the multiplexed codewords by areceiver associated with a first multiplexed layer. The first codewordbelongs to a codebook that is assigned exclusively to the firstmultiplexed layer. The method further includes decoding the firstcodeword to obtain a first binary. An apparatus for performing thismethod is also provided.

In accordance with another embodiment, a method for designing SparseCode Multiple Access (SCMA) code is provided. In this example, themethod includes generating a plurality of multi-dimensional modulationcodebooks, and generating a plurality of sparse codebooks from theplurality of multi-dimensional modulation codebooks. A method fordesigning low density signatures (LDS) is also provided.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of this disclosure, and the advantagesthereof, reference is now made to the following descriptions taken inconjunction with the accompanying drawing, in which:

FIG. 1 illustrates a diagram of a conventional CDMA encoder;

FIG. 2 illustrates a diagram of a conventional CDMA encodingarchitecture;

FIG. 3 illustrates a diagram of an embodiment SCMA encoder;

FIG. 4 illustrates a diagram of an embodiment SCMA encodingarchitecture;

FIG. 5 illustrates a flowchart of an embodiment method for encodingdata;

FIG. 6 illustrates a flowchart of an embodiment method for decodingdata;

FIG. 7 illustrates a diagram of an embodiment methodology for designinga sub-optimal SCMA codebook;

FIG. 8 illustrates a diagram of an embodiment methodology for designingLDS signatures;

FIG. 9 illustrates a graph depicting BLER performance;

FIG. 10 illustrates a diagram of a factor graph representation of anSCMA code;

FIG. 11 illustrates a diagram of another factor graph representation ofan SCMA code;

FIG. 12 illustrates a diagram of a graph of phase rotations;

FIG. 13 illustrates a chart depicting an extrinsic information transferfunction for resource and layer nodes in LDS;

FIG. 14 illustrates a chart depicting output layer information vs. inputextrinsic information to resource nodes of LDS;

FIG. 15 illustrates a chart depicting extrinsic information transferfunctions for LDS with signature S₂;

FIG. 16 illustrates a chart depicting output information for LDSsignature S₂;

FIG. 17 illustrates a chart depicting extrinsic information transferfunction for four resource nodes of an SCMA code without phase/conjugateoptimization;

FIG. 18 illustrates a chart depicting extrinsic information transferfunction for four resource nodes of an SCMA code with phase/conjugateoptimization;

FIG. 19( a) illustrates a chart depicting an impact of dimensional powervariation of multi-dimensional constellation on the performance of anSCMA code;

FIG. 19( b) illustrates a chart depicting an impact of dimensional powervariation of multi-dimensional constellation on the performance ofanother SCMA code;

FIG. 20( a) illustrates a chart depicting impact of permutation operatoron the performance of an SCMA code;

FIG. 20( b) illustrates a chart depicting impact of permutation operatoron the performance of another SCMA code;

FIG. 21( a) illustrates a chart depicting impact of phase/conjugateoperators on the performance of an SCMA code;

FIG. 21( b) illustrates a chart depicting impact of phase/conjugateoperators on the performance of another SCMA code;

FIG. 22( a) illustrates a chart depicting comparison of two differentoptimization criterion for the phase/conjugate operators of an SCMAcode;

FIG. 22( b) illustrates a chart depicting comparison of two differentoptimization criterion for the phase/conjugate operators of another SCMAcode;

FIG. 23 illustrates a chart depicting impact of operator allocation onthe performance of an SCMA code;

FIG. 24( a) illustrates a chart depicting impact of the real domainunitary operator on the performance of an SCMA code;

FIG. 24( b) illustrates a chart depicting impact of the real domainunitary operator on the performance of another SCMA code;

FIG. 25 illustrates a chart depicting total goodput of SCMA codes andimpact of design parameters;

FIG. 26 illustrates a chart depicting LDS performance with differentsignature matrices;

FIG. 27( a) illustrates a chart depicting performance of a set of LDSsignatures;

FIG. 27( b) illustrates a chart depicting performance of another set ofLDS signatures;

FIG. 28( a) illustrates a chart depicting performance of a set of LDSsignatures with pair-wise optimization of phase operators;

FIG. 28( b) illustrates a chart depicting performance of another set ofLDS signatures with different pair-wise optimization of phase operators;

FIG. 29 illustrates a chart depicting performance of SCMA vs. LDS;

FIG. 30 is a block diagram illustrating a computing platform; and

FIG. 31 illustrates a block diagram of an embodiment communicationsdevice.

Corresponding numerals and symbols in the different figures generallyrefer to corresponding parts unless otherwise indicated. The figures aredrawn to clearly illustrate the relevant aspects of the embodiments andare not necessarily drawn to scale.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The making and using of embodiments disclosed herein are discussed indetail below. It should be appreciated, however, that the presentdisclosure provides many applicable inventive concepts that can beembodied in a wide variety of specific contexts. The specificembodiments discussed are merely illustrative of specific ways to makeand use the invention, and do not limit the scope of the invention.

Disclosed herein is a Sparse Code Multiple Access (SCMA) encodingtechnique that encodes binary data streams directly to multi-dimensionalcodewords. By directly encoding the binary data to multi-dimensionalcodewords, the SCMA encoding techniques described herein circumvent QAMsymbol mapping, thereby achieving coding gains over conventional CDMAencoding. Notably, the SCMA encoding techniques described herein conveybinary data using the multi-dimensional codeword, rather than a QAMsymbol. Moreover, the SCMA encoding techniques of this disclosureprovide multiple access through assigning a different codebook for eachmultiplexed layer, as opposed to using a unique spreading sequence(e.g., LDS signature, etc.) as is common in conventional CDMA encoding.Further, the SCMA codebooks comprise sparse codewords such thatreceivers can use low complexity message passing algorithms (MPAs) todetect their respective codewords amongst the multiplexed codewords,which reduces baseband processing complexity on the receiver side. Whilemuch of this disclosure may be discussed in the context of binary data,aspects of this disclosure are equally applicable to other kinds ofdata, such as M-ary data.

FIG. 1 illustrates a traditional CDMA encoder 100 for encoding data. Asshown, the CDMA encoder 100 maps binary data received from the FECencoder to QAM symbols, and then applies spreading signatures (s₁, s₂,s₃, s₄) to obtain the encoded data stream (qs₁, qs₂, qs₃, qs₄). Notably,the spreading signatures (s₁, s₂, s₃, s₄) are CDMA spreading sequences(e.g., LDS signatures, etc.) assigned to different multiplexed layers inorder to achieve multiple-access.

FIG. 2 illustrates an example of conventional CDMA encoding architecture200 for communicating binary data streams 201-204 to a plurality ofusers 231-234 over a network 260, as might be performed by theconventional CDMA encoder 100. As shown, each binary data stream 201-204is mapped to the QAM symbols 211-214 in accordance with a QAM-to-binaryrelationship 270. As an example, the QAM symbol 211 is associated withthe binary value ‘00’, the QAM symbol 212 is associated with the binaryvalue ‘01’, the QAM symbol 213 is associated with the binary value ‘10’,and the QAM symbol 214 is associated with the binary value ‘11’.Accordingly, the QAM symbol 211 is mapped to the binary data stream 201,the QAM symbol 212 is mapped to the binary data streams 202 and 204, andthe QAM symbol 213 is mapped to the binary data stream 203.

Following the binary-to-QAM mapping, the QAM symbols 211-214 aremultiplexed together in accordance with the LDS signatures 221-224.Notably, each of the LDS signatures 221-224 are mapped to differentmultiplexed layers, which are assigned to different ones of the users231-234 to achieve multiple access. Therefore, the LDS signatures221-224 remain fixed (i.e., do not vary based on the binary values inthe binary data streams 201-204). Thereafter, the resulting onedimensional codewords 241-244 are multiplexed together, to formmultiplexed codewords 280, which are transmitted over the network 260.Upon reception, the multiplexed codewords 280 are de-multiplexed inaccordance with the LDS signatures 221-224 to obtain the QAM symbols211-214, which are used to obtain the binary data streams 201-204 inaccordance with the QAM-to-binary relationship 270.

FIG. 3 illustrates an SCMA encoder 300 for encoding data in accordancewith aspects of this disclosure. As shown, the SCMA encoder 300 mapsbinary data received from the FEC encoder directly to multi-dimensionalcodewords to obtain the encoded data stream (x₁, x₂, x₃, x₄).Multi-dimensional codewords may belong to different multi-dimensionalcodebooks, with each codebook being associated with a differentmultiplexed layer. As discussed herein, multiplexed layers may includeany layer over which multiple data streams may be communicated overshared resources of a network. For instance, multiplexed layers maycomprise multiple-input-multiple-output (MIMO) spatial layers,Orthogonal Frequency-Division Multiple Access (OFDMA) tones, timedivision multiple access (TDMA) layers, and others.

FIG. 4 illustrates an example of an SCMA multiplexing scheme 400 forencoding data in accordance with aspects of this disclosure. As shown,the SCMA multiplexing scheme 400 may utilize a plurality of codebooks410, 420, 430, 440, 450, and 460 each of which being assigned to adifferent multiplexed layer and including a plurality ofmulti-dimensional codewords. More specifically, the codebook 410includes the codewords 411-414, the codebook 420 includes the codewords421-424, the codebook 430 includes the codewords 431-434, the codebook440 includes the codewords 441-444, the codebook 450 includes thecodewords 451-454, and the codebook 460 includes the codewords 461-464.Each codeword of a respective codebook is mapped to a different binaryvalue. In this example, the codewords 411, 421, 431, 441, 451, and 461are mapped to the binary value ‘00’, the codewords 412, 422, 432, 442,452, and 462 are mapped to the binary value ‘01’, the codewords 413,423, 433, 443, 453, and 463 are mapped to the binary value ‘10’, and thecodewords 414, 424, 434, 444, 454, and 464 are mapped to the binaryvalue ‘11’. Although the codebooks in FIG. 4 are depicted as having fourcodewords apiece, SMAC codebooks may have any number of codewords. Forinstance, SMAC codebooks may have 9 codewords (e.g., mapped to binaryvalues ‘000’ . . . ‘111’), 16 codewords (e.g., mapped to binary values‘0000’ . . . ‘1111’), or more.

As shown, different codewords are selected from the various codebooks410, 420, 430, 440, 450, and 460 depending on the binary data beingtransmitted over the multiplexed layer. In this example, the codeword414 is selected from the codebook 410 because the binary value ‘11’ isbeing transmitted over the first multiplexed layer, the codeword 422 isselected from the codebook 420 because the binary value ‘01’ is beingtransmitted over the second multiplexed layer, the codeword 433 isselected from the codebook 430 because the binary value ‘10’ is beingtransmitted over the third multiplexed layer, the codeword 442 isselected from the codebook 440 because the binary value ‘01’ is beingtransmitted over the fourth multiplexed layer, the codeword 452 isselected from the codebook 450 because the binary value ‘01’ is beingtransmitted over the fifth multiplexed layer, and the codeword 464 isselected from the codebook 460 because the binary value ‘11’ is beingtransmitted over the sixth multiplexed layer. The codewords 414, 422,433, 442, 452, and 464 are then multiplexed together to form themultiplexed data stream 480, which is transmitted over shared resourcesof a network. Notably, the codewords 414, 422, 433, 442, 452, and 464are sparse codewords, and therefore can be identified upon reception ofthe multiplexed data stream 480 using a MPA.

FIG. 5 illustrates a method 500 for communicating data over a network inaccordance with aspects of this disclosure, as may be performed by atransmitter. The method 500 begins at step 510, where the transmitterreceives input data, including a first binary data and a second binarydata. Next, the method 500 proceeds to step 520, where the transmitterencodes the first binary data stream by selecting a first codeword froma first codebook assigned to a first multiplexed layer. Thereafter, themethod 500 proceeds to step 530, where the transmitter encodes thesecond binary data stream by selecting a second codeword from a secondcodebook assigned to second multiplexed layer. Subsequently, the method500 proceeds to step 540, where the transmitter multiplexes the firstcodeword with the second codeword to obtain multiplexed codewords.Finally, the method 500 proceeds to step 550, where the transmittertransmits the multiplexed codewords over shared resources of thenetwork.

FIG. 6 illustrates a method 600 for receiving data multiplexed inaccordance with aspects of this disclosure, as may be performed by areceiver associated with a first multiplexed layer. The method 600begins at step 610, where the receiver receives a signal carryingmultiplexed codewords. Next, the method 600 proceeds to step 620, wherethe receiver identifies a first codeword with the multiplexed codewords.The first codeword is from a first codebook associated with the firstmultiplexed layer, and may be identified by the receiver in accordancewith a MPA. Thereafter, the method 600 proceeds to step 630, where thereceiver decodes the first codeword in accordance with the firstcodebook to obtain a first binary data.

Aspects of this disclosure provide sparse code multiple access (SCMA)having the following characteristics: multiple access scheme; codinggain; and sparse codewords. FIG. 7 illustrates a methodology 700 fordesigning a sub-optimal SCMA codebook 760. As shown, the methodology 700includes selecting the parameters 710-755, which include a mappingmatrix 710, a real multi-dimensional constellation 720, a real unitarymatrix 730, a complex multi-dimensional constellation 740, a permutationoperator 750, and phase and conjugate operators 755. In someembodiments, multiple mother constellations may be used to design SCMAcodebooks. Additionally, the methodology 700 may include an additionalstep of allocating phase conjugate operators to incoming branches of theresource node. The codebook 760 is obtained by combining the parameters710-755 in the manner depicted in FIG. 7.

In an embodiment, LDS may be considered to be a quasi-derivative ofSCMA. FIG. 8 illustrates a methodology 800 for designing LDS signaturesin accordance with aspects of this disclosure. In embodiments of thisdisclosure, the methodology 800 for designing LDS signatures may beconsistent with a simplified version of SCMA design, and may excludesteps related to mother multi-dimensional constellation design (whichmay generally be included in SCMA design). For instance, the motherconstellation may be considered a repetition of one-dimensional QAMconstellation (e.g., assuming QAM constellation is give such as QPSK).Additionally, the operators may be limited to phase operators such thatconjugate operators are excluded. Moreover, the methodology 800 mayinclude a step of allocating phase operators of a resource node to itsincoming branches. Aspects of the methodology 800 may be based on alinear matrix operation that is specifically designed for LDS signaturedesign. Such a linear matrix operation may not be applied when designingSCMA codebooks.

FIG. 9 illustrates a graph depicting BLER performance, which shows howthe SCMA and LDS signature sets disclosed herein outperformsconventional LDS signature sets. Table 1 illustrates some distinctionsbetween SCMA and LDS.

TABLE 1 SCMA LDS Multiple ✓ Codebook domain ✓ Signature domain accessSparse ✓ Sparse codewords ✓ Low density signatures Coding ✓ Data carriedover multi- x Data carried over QMA gain dimensional complex symbolscodewords Degree of J codebooks each J signatures freedom with Mcodewords Receiver Codeword-based MPA Symbol-based MPA

Aspects of this disclosure introduce a new class of multiple-accessscheme, namely sparse code multiple-access (SCMA). Aspects of thisdisclosure provide a definition of sparse code multiple access (SCMA), asub-optimal multi-stage design methodology for SCMA, a designmethodology for LDS signatures, a symbol-based message passing algorithmfor SCMA detection. Aspects of this disclosure provide numerous benefitsand/or advantages, including an EXIT chart evaluation methodologyadopted to SCMA and LDS structures, an SCMA is a new multiple-accessscheme which can be used as a promising waveform/access technology for5G standard, an SCMA has the potential benefit to outperform LDS, and anSCMA that has the potential to improve throughput of a wireless networkor enable grant-less UL, DL, D2D, or M2M transmission. Advantagesderived from this disclosure may be significant due to the sheer amountof base stations and terminals in the network.

Sparse Code Multiple Access: Sparse code multiple access (SCMA) is theproposed multiple access/coding scheme with the following properties:(i) Binary domain data are directly encoded to multi-dimensional complexdomain codewords; (ii) Multiple access is achievable by generatingmultiple codebooks one for each layer; and (iii) Codewords of thecodebooks are sparse such that the MPA multi-user detection technique isapplicable to detect the multiplexed codewords with a moderatecomplexity.

In this disclosure, the following notations and variables are used. Setsof binary, natural, integer, real and complex numbers are denoted by

,

,

,

and

, respectively. The symbols x, x, and X represent scalars, vectors, andmatrixes, respectively. The nth element of x is denoted by x_(n) or(x)_(n), and (X)_(nm)=x_(nm) is the element of nth row and mth column ofmatrix X. Also, x_(m) is mth column of X. The transpose of x is x^(T)and diag(x) is a diagonal matrix where its nth diagonal element is(x)_(n). Similarly, diag(X) is a vector of the diagonal elements ofmatrix X. The Hermitian of a matrix is denoted by X^(H). The variablesand functions are listed in Table 22.

TABLE 2 List of variables No Notation Description Comment  1 f Functiongenerator of an SCMA f: 

^(log) ² ^((M)) →

 , x = f(b) codebook  2 M Number of codewords of a N/A codebook  3

Set of binary numbers N/A  4 x Complex codeword of SCMA N/A  5 b Binarycodeword N/A  6

Codebook of a layer of an SCMA |

| = M code  7 K Length of a codeword N/A  8 N Number of non-zeroelements of an SCMA codeword  9

Constellation set N/A 10 g Constellation function generator

^(log) ² ^((M)) →

, c = g(b) 11 V Mapping matrix N/A 12 I_(N) Identity matrix of size N ×N N/A 13 J Number of SCMA layers N/A 14

_(j)(V_(j), g_(j); M_(j), N_(j), K) jth SCMA layer N/A 15

([V_(j)]_(j=1) ^(J), [g_(j)]_(j=1) ^(J); J, M, SAMC code N/A 16 yReceived signal N/A 17 h_(j) Channel of layer j h_(j) = (h_(1j), . . . ,h_(Kj))^(T) 18 n noise n~

(0, N₀I) 19 N₀ Noise power N/A 20 λ Overloading factor λ := J/K 21 f_(j)Factor graph binary indicator of f_(j) = diag(V_(j)V_(j) ^(T)) layer j22 d_(f) Number of layers contributing to d_(f) = (d_(f1), . . . ,d_(fK))^(T) resource nodes 23 F Factor graph representation F = (f₁, . .. , f_(J)) matrix 24

_(k) Set of layer nodes connected to

_(k) = {j|(F)_(kj) = 1, ∀j} resource node k 25

_(j) Set of the resource nodes

_(j) = {k|(F)_(kj) = 1, ∀k} connected to layer node j 26 p(.)Probability function N/A 27 p(.|.) Conditional probability function N/A28

Stack of all x_(j)'s with j ∈

_(k) N/A 29 exp(.) Exponential function N/A 30

Set of mapping matrices

 := [V_(j)]_(j=1) ^(J) 31

Set of constellation function

 := [g_(j)]_(j=1) ^(J) generators 32 m SCMA design criterion N/A 33

Optimal set of mapping matrices$V^{o},{G^{o} = {\arg\mspace{11mu}{\max\limits_{V,G}\;{m( {( {V,{G;J},M,N,K} )} )}}}}$34

Optimal set of constellation function generators$V^{o},{G^{o} = {\arg\mspace{11mu}{\max\limits_{V,G}\;{m( {( {V,{G;J},M,N,K} )} )}}}}$35 V_(j) ^([∅]) It is V_(j) after removing its all-zero N/A rows 36Δ_(j) constellation operator of layer j N/A 37

A real domain constellation N/A 38 E(.) Average energy of aconstellation N/A set 39 U_(j) Real domain unitary operator for N/Alayer j 40 complex(.) Function to transfer a real vector N/A to acomplex vector with half length size 41 N_(U) Number of grid points tooptimize N/A a unitary matrix operator 42 N_(c) Number of options totransfer a N/A real domain constellation set to a complex domainconstellation set 43

(.) Dimensional power variation of a N/A constellation set 44 d_(min)(

) Minimum distance of N/A constellation set 

45 G(

⁺/Q) Shaping gain of 

⁺ over Q G ⁡ ( + ⁢ / ⁢ Q ) := d min ⁡ ( + ) d min ⁡ ( Q ) ⁢ E ⁡ ( Q ) E ⁡ ( + )46

:α Scaling operator (

:α)z := αz 47 ∅ Null operator (∅)z = z 48

:τ Complex conjugate operator${( {\text{:}\tau} )z}:=\{ \begin{matrix}z & {\tau = 0} \\z^{*} & {\tau = 1}\end{matrix} $ 49 ⊚:φ Phase operator (⊚:φ)z := e^(iφ)z 50

:π Permutation operator (

:π)z = πz 51 ^(n)

⁺ nth dimension of constellation ^(n)

⁺ =

⁺ {c_(nm)|∀c_(m) ∈ 

⁺, m = 1 52 p(z) Interfering polynomials $\begin{matrix}{{p(z)} = {\sum\limits_{j = 1}^{J}{q_{j}(z)}}} \\{= {\sum\limits_{j = 1}^{J}{V_{j}\pi_{j}z}}}\end{matrix}\quad$ 53 Π Set of permutation operators Π = [π_(j)]_(j=1)^(J) 54 n(p(z)) Number of monomials of N/A polynomial p(z) 55 μ(p(z))Power variation of an interfering polynomial $\begin{matrix}{{µ( {p(z)} )}:=\frac{\sqrt{\sum\limits_{n = 1}^{N}{d_{n}^{2}( {{E( {{}_{}^{}{}_{}} )} - \overset{\_}{E}} )}^{2}}}{\overset{\_}{E}}} \\{{E( {{}_{}^{}{}_{}} )} = {\frac{1}{M}{\sum\limits_{m = 1}^{M}{c_{nm}}^{2}}}} \\{\overset{\_}{E} = \frac{\sum\limits_{n = 1}^{N}{d_{n}{E( {\,{{}_{}^{}{}_{}}} )}}}{\sum\limits_{n = 1}^{N}d_{n}}}\end{matrix}\quad$ 56 w(z) Interfering polynomial after N/A applyingoperators 57 D_(pair)(.,.) Minimum distance of two N/A constellationsets 58 Ω_(k) ^(l+) Optimized phase/conjugate Ω_(k) ^(l+) = operatorsfor resource node k {{ω_(k1u) ^(l+)}_(u=1) ^(d) ^(k1) ^(l+) , . . . ,{ω_(kNu) ^(l+)}_(u=1) ^(d) ^(kN) ^(l+) } with given permutation set 59 SSignature matrix of LDS S = [s_(j)]_(j=1) ^(J) 60 q QAM constellationfunction q: 

^(log) ² ^(M) → Q ⊂

, generator q = q(b) 61 Q QAM constellation N/A 62

([s_(j)]_(j=1) ^(J), q; J, M, N, K) LDS structure N/A 63 1_(N) All-onevector of size N N/A 64 phase(.) Phase of a complex numberphase(ae^(iθ)) = θ, a, θ ∈ 

65 S^(†) Pseudo inverse of S N/A 66 N₁ Power of transformation noise forN/A MPA of LDS

Disclosure below include descriptions of the SCMA code structure,techniques and mechanisms for MPA detection for SCMA, discussions ofoptimization problems/issues for SCMA code design, and procedures ofmulti-stage sub-optimal SCMA code design. Additional disclosuresdescribe how SCMA codes can be evaluated based on the link-level andEXIT chart evaluation methodologies.

An SCMA encoder may be defined as follows: f:

^(log) ² ^((M))→X, x=f(b) where X⊂

^(K) with cardinality |X|=M. The K-dimensional complex codeword x is asparse vector with N<K non-zero entries. Let c denote a N-dimensionalcomplex constellation point defined within the constellation set

⊂

^(N) such that:

^(log) ² ^((M))→

, c=g(b). An SCMA encoder can be redefined as f≡Vg where the binarymapping matrix Vε

^(K×N) simply maps the N dimensions of a constellation point to aK-dimensional SCMA codeword. Note that V contains K−N all-zero rows.Eliminating the all-zero rows from V, the reset can be represented byidentity matrix I_(N) meaning that the binary mapper does not permutethe dimensions of subspace

during the mapping process.

An SCMA encoder contains J separate layers each defined by

_(j)(V_(j), g_(j); M_(j), N_(j), K) j=1, . . . , J. The constellationfunction g_(j) generates the constellation set

_(j) with M_(j) alphabets of length N_(j). The mapping matrix V_(j) mapsthe N_(j)-dimensional constellation points to SCMA codewords to formcodeword set X_(j). Without loss of generality, it can be assumed thatall layers have the same or similar constellation size and length, i.e.M_(j)=M, N_(j)=N, ∀j. Summarizing, an SCMA code can be represented by

([V_(j)]_(j=1) ^(J), [g_(j)]_(j=1) ^(J); J, M, N, K). SCMA codewords aremultiplexed over K shared orthogonal (or near orthogonal) resources(e.g. OFDMA tones or MIMO spatial layers). The received signal after thesynchronous layer multiplexing can be expressed as: y=Σ_(j=1) ^(J)diag(h_(j))x_(j)+n=Σ_(j=1) ^(J) diag(h_(j))V_(j)g_(j)(b_(j))+n, wherex_(j)=(x_(1j), . . . , z_(Kj))^(T) is the SCMA codeword of the layer j,h_(j)=(h_(1j), . . . , h_(Kj))^(T) is the channel vector of layer j andn˜

(0, N₀I) is the background noise. In the case that all the layers aretransmitted from the same transmit point, all the channels are identicalh_(j)=h, ∀j and hence the above equation is reduced to y=diag(h) Σ_(j=1)^(J) x_(j)+n. By multiplexing J layers over K resources, the overloadingfactor of the code is defined as λ:=J/K.

A received signal at the resource k may be represented as y_(k)=Σ_(j=1)^(J) h_(kj)x_(kj)+n_(k), k=1, . . . , K. As the codewords x_(j)'s aresparse, only a few of them collide over the resource k. The set of theresources occupied by the layer j depends on the mapping matrix V_(j)and the set is determined by the index of the non-zero elements of thebinary indicator vector f_(j)=diag(V_(j)V_(j) ^(T)). The total number oflayers contributing to the resources is determined by d_(f)=(d_(f1), . .. , d_(fK))^(T)=Σ_(j=1) ^(J) f_(j). The whole structure of SCMA code

can be represented by a factor graph matrix defined as F=(f₁, . . . ,f_(j)). Layer j and resource k are connected if and only if (F)_(kj)=1.The set of the layer nodes connected to the resource node k is definedas

_(k)={j|(F)_(kj)=1, ∀j} for ∀k. Alternatively, the set of the resourcenodes connected to the layer node j is

_(j)={k|(F)_(kj)=1, ∀k} for ∀j. Based on the factor graph definition,the received signal at the resource k can be rewritten as follows:y_(k)=Σ_(jεL) _(k) h_(kj)x_(kj)′n_(k), ∀k. Notably, that the factorgraph parameters F, [V_(j)]_(j=1) ^(J), [

_(k)]_(k=1) ^(K), and [

_(j)]_(j=1) ^(J) may all represent the same information but in thedifferent formats.

The following described MAP detection as may be performed by the SCMAReceiver, and is discussed in Reza Hoshyar, Ferry P. Wathan, RahimTafazolli, “Novel Low-Density Signature for Synchronous CDMA SystemsOver AWGN Channel,” IEEE trans. on signal processing, vol. 56, No. 4,pp. 1616, April 2008, which is incorporated by reference herein as ifreproduced in its entirety. Given the received signal y and the channelknowledge {h_(j)}_(j=1) ^(J) the joint optimum MAP detection of layercodewords X=(x₁, . . . , x_(J)) can be expresses as:

X̂ = argmax_(X ∈ (×_(j = 1)^(J))χ_(j))p(X|y),where (x_(j=1) ^(J))X_(j):=X₁x . . . xX_(j). The transmitted codeword oflayer j can be estimated by maximizing the marginal of the jointprobability, which may be given by

${{\hat{x}}_{j} = {{argmax}_{a \in \chi_{j}}{\sum_{\underset{x_{j} = a}{X \in {{( \times_{j = 1}^{J})}\chi_{j}}}}{p( X \middle| y )}}}},{\forall{j.}}$∀j.

According to Bays' rule, the conditional probability above can berewritten as

${( X \middle| y ) = {\frac{{p( y \middle| X )}{P(X)}}{p(y)} \propto {{p( y \middle| X )}{P(X)}}}},$where P(X)=Π_(j=1) ^(J) P(x_(j)) is the joint a priori information ofall the statistically independent layers. Assuming uncorrelated dataover layers, p(y|X) can be factorized as p(y|X)=Π_(k=1) ^(K) p(y_(k)|X)Due to sparse codewords, Y_(k) depends only on the layers that areconnected to the resource node k. Therefore, p(y|X) can be furtherreduced to p(y|X)=Π_(k=1) ^(K) p(y_(k)|

) where

is the stack of all x_(j)'s with jε

_(k). If all the layer nodes interfere at resource k, or equivalently

_(k)={1, . . . , J}, then

=X. Combining the above formulas and considering the fact that layer jdepends only on the resource nodes belonging to

_(j), the estimate of layer j can be described as

x ^ j = argmax a ∈ χ j ⁢ ∑ X ∈ ( × j = 1 J ) ⁢ χ j x j = a ⁢ P ⁡ ( X ) ⁢ j ⁢ p⁡( y k | ) ,∀j, in which

p ⁡ ( y k | k ] ) ∝ exp ( - | y k - ∑ j ∈ ℒ k ⁢ h kj ⁢ x kj  2 N 0 ) .

The above equation turns the original joint MAP detection problem to themarginalize product of functions problem which is much simpler toresolve.

MPF problem may not have a brute force solution with moderatecomplexity, but the near optimal solution of the problem can be founditeratively by applying the Message Passing Algorithm MPA over theunderlying factor graph.

Message update at a resource node: Let p_(j→k)(x_(j)=a) denote a messagepassed from layer node j to resource node k about the reliability oflayer j taken codeword aεX_(j). In general, a branch that connects layernode j and resource node k carries |X_(j)|=M_(j)=M reliability valuesfor every possible codeword belonging to X_(j). Resource node k updatesand returns the reliability values as follows:

p j ← k ⁡ ( x j = a ) ⁢ = ⁢ ∈ ( × i ∈ ℒ k ) b j = a ⁢ χ i ⁢ p ⁡ ( y k | k ] ) ⁢k i ≠ j ⁢ p i -> k ⁡ ( x i = b i ) ,∀k, ∀aεX_(j), ∀jε

_(k).

The complexity of the receiver mainly depends on the number ofcombinations in the above equation. The number of the combinations atresource node k is M^(d) ^(fk) which exponentially grows with theconstellation size and the number of interfering layers. The extrinsicinformation p_(j←k)(x_(j)=a) needs to be normalized before being passedfrom the resource node to the connected layer node, e.g.,

$ {p_{jarrow k}( {x_{j} = a} )}arrow\frac{p_{jarrow k}( {x_{j} = a} )}{\sum_{b \in \chi_{j}}{p_{jarrow k}( {x_{j} = b} )}} ,$∀k, ∀aεX_(j), ∀jε

_(k).

Message update at a layer node. Let the a priori information about thecodewords of layer j be represented by ap_(j)(x_(j)=a), ∀aεX_(j). Thebranch information is updated at layer node j based on the followingformula.

${{p_{j->k}( {x_{j} = a} )} = {{{ap}_{j}( {x_{j} = a} )}\Pi_{\underset{u \neq k}{u \in}}{p_{jarrow u}( {x_{j} = a} )}}},$∀j, ∀aεX_(j), ∀kε

_(j), which is normalized as:

$ {p_{j->k}( {x_{j} = a} )}arrow\frac{p_{j->k}( {x_{j} = a} )}{\sum_{b \in \chi_{j}}{p_{j->k}( {x_{j} = b} )}} ,$∀j, ∀aεX_(j), ∀kε

_(j).

Output probability of codewords: Messages are passed iteratively betweenthe layer and resource nodes and after convergence the extrinsicprobabilities of the codewords of each layer is calculated as follows:p(x_(j)=a)=

_(j)p_(j←u)(x_(j)=a), ∀j, ∀aεX_(j). This equation can be normalized as

$ {p( {x_{j} = a} )}arrow\frac{p( {x_{j} = a} )}{\sum_{b \in \chi_{j}}{p( {x_{j} = b} )}} ,{\forall j},{\forall{a \in {\chi_{j}.}}}$∀j, ∀aεX_(j).

The design problem of an SCMA code with a given structure of

(V, G; J, M, N, K) where V:=[V_(j)]_(j=1) ^(J) and G:=[g_(j)]_(j=1) ^(J)can be given as V^(o), G^(o)=arg max_(V,G) m(

(V, G; J, M, N, K)), where m is a given design criterion. As thesolution of this multi-dimensional problem is not straightforward, amulti-stage optimization approach is proposed to achieve a sub-optimalsolution for the problem.

As a general multi-stage design methodology, a sparse codebook isgenerated by: First generating multi-dimensional modulationconstellation(s); and then transferring the constellation(s) to multiplesparse codebooks. Following the above two major steps, below is detaildescription of a design methodology for SCMA:

As described before, the set of mapping matrices V may determine thenumber of layers interfering at each resource node which in turn itdefines the complexity of the MPA detection. The sparser the codewordsare the less complex is the MPA detection. The mapping matrices designrules may be defined as follows: (1) V_(j)ε

^(K×N); (2) V_(i)≠V_(j), ∀i≠j; and (3) V_(j) ^([ø])=I_(N) where V_(j)^([ø]) is V_(j) after removing its all-zero rows.

The unique solution V⁺ to the above problem is simply determined byinserting K−N all-zero row vectors within the rows of I_(N). Theproperties of the solution may be as follows:

$\begin{matrix}{{J = \begin{pmatrix}K \\N\end{pmatrix}};} & (1) \\{{d_{fj} = {d_{f} = {\begin{pmatrix}{K - 1} \\{N - 1}\end{pmatrix} = \frac{JN}{K}}}},{{\forall j};}} & (2) \\{{\lambda = {\frac{J}{K} = \frac{d_{f}}{N}}};} & (3)\end{matrix}$and (4) max(0,2N−K)≦l<N−1, where l is the number of the overlappingelements of any two distinct f_(j) vectors.

As an example, when considering complexity, N should be small enough incomparison with K to maintain a reasonable level of sparsity. Inparticular, if N=2, two dimensional constellation points can be mappedover K>2 resources to construct SCMA codewords with a minimuminterfering layer nodes. The mapping properties are as follows:

$\begin{matrix}{{N = 2};{J = {\begin{pmatrix}K \\2\end{pmatrix} = {\frac{K( {K - 1} )}{2}.}}}} & (1)\end{matrix}$J=6 for K=4;

$\begin{matrix}{{d_{fj} = {d_{f} = {\begin{pmatrix}{K - 1} \\1\end{pmatrix} = {K - 1}}}},{\forall{j.}}} & (2)\end{matrix}$∀j. d_(f)=3 for K=4;

$\begin{matrix}{\lambda = {\frac{J}{K} = {\frac{K - 1}{2}.}}} & (3)\end{matrix}$λ=1.5 for K=4; and (4) 0≦l≦1 if K=4, meaning that the codewords areeither totally orthogonal with no overlaps or they collide only over onenon-zero element.

$F = {{\begin{bmatrix}1 & 1 & 1 & 0 & 0 & 0 \\1 & 0 & 0 & 1 & 1 & 0 \\0 & 1 & 0 & 1 & 0 & 1 \\0 & 0 & 1 & 0 & 1 & 1\end{bmatrix}\mspace{14mu}{for}\mspace{14mu} K} = 4}$

FIG. 10. Illustrates a factor graph 1000 representing F in relation toconstellation points. Having the mapping set V⁺, the optimizationproblem of an SCMA code is reduced to G⁺=arg max_(G) m(

(V⁺, G; J, M, N, K)).

One problem may be to define J different N-dimensional constellationseach containing M points. To simplify the optimization problem, theconstellation points of the layers are modeled based on a motherconstellation and the layer-specific operators, i.e. g_(j)≡(Δ_(j)))g,∀j, where Δ_(j), denotes a constellation operator. According to themodel, the SCMA code optimization turns into

g⁺, [Δ_(j)⁺]_(j = 1)^(J) = argmax_(g, [Δ_(j)]_(j = 1)^(J))m((V⁺, ?? = [(Δ_(j))g]_(j = 1)^(J); J, M, N, K)).

In general, there might be multiple mother constellations instead ofone: g⁽¹⁾, g⁽²⁾, . . . , g^((L)) and the constellation of a layer mightbe built up on one of the available mother constellations, i.e.,g_(j)≡(Δ_(j))g^((m) ^(j) ⁾ and 1≦m_j≦L. In the following, we assume onlyone mother constellation exist. It is straightforward to extent thedesign methodology to the case that multiple mother constellationsexist. As a suboptimal approach to the above problem, the motherconstellation and the operators may be determined separately.

For a mother multi-dimensional constellation, the design of a realdomain constellation may be described as follows. The target may be todesign a multi-dimensional compact constellation that minimizes theaverage alphabet energy for a given minimum Euclidian distance betweenthe constellation points. We first consider a 2N-dimensional real-valuedAWGN channel. With an even value of 2N the results can easily betransferred to a N-dimensional complex valued AWGN channel. For a givenpair (2N, M), the goal is to find the minimum energy constellation

={r₁, . . . , r_(M)}, with r_(m)ε

^(2N) for m=1, . . . , M, while keeping the Euclidian distance betweendifferent points (alphabets) greater or equal to a certain threshold D,(d_(min)(

)=D). The constellation

is a point in the space

={(r₁, . . . , r_(M))|∥r_(n)−r_(m)∥²≧D², 1≦n≦m≦M}. Following thisapproach, we are led to define the merit function: ε:

→

and

={r₁, . . . , r_(M)}→ε(

), where ε(

)=Σ_(m=1) ^(M)∥r_(m)∥². Clearly, ε(

) is proportional to the average symbol energy

$\frac{{E{()}} = {\varepsilon{()}}}{M}.$Constructing an optimal codebook

corresponds to solving the optimization problem

⁺=arg

ε(

).

Arbitrary real values of symbols r₁, . . . , r_(m) are allowed. Theproblem defined above is a non-convex optimization problem since all theconstraints in the set

are nonconvex. More precisely, it belongs to the class of nonconvexquadratically constrained quadratic programming (QCQP) problems.Nonconvex QCQP is a well known problem in the optimization literaturewith many applications. The non-convex QCQP is NP-hard. Consequently, itis generally difficult to solve a QCQP, even for a small number ofconstraints.

A suboptimal solution is proposed in Marko Beko and Rui Dinis,“Designing Good Multi-Dimensional Constellations,” IEEE wirelesscommunications letters, vol. 1, No. 3, pp. 221-224, June 2012, which isincorporated herein by reference as if reproduced in its entirety. Thesuboptimal solution proposed by the above mentioned reference is basedon the reformulation/linearization-based methods also known as theconvex-concave procedure (CCP). The formulated non-convex optimizationproblem is tackled by solving a sequence of convex optimization problemswhere it minimizes the convex quadratic objective function subject to aset of linear inequalities.

Regarding unitary operations on a real-domain constellation; Once themother real constellation is known, unitary operations can be applieddirectly on the mother constellation to construct an SCMA code. Thedesign problem is expressed as follows:

[U_(j)⁺]_(j = 1)^(J) = argmax_([U_(j)]_(j = 1)^(J))m((V⁺, ?? = [complex(U_(j)r⁺)]_(j = 1)^(J); J, M, N, K)).where r⁺ is the function generator of

⁺, U_(j) is a 2N×2N unitary matrix, and complex(·) is a functioncombining every two consecutive real dimensions to form a complexdimension. Each unitary matrix has

$\begin{pmatrix}{2N} \\2\end{pmatrix} = {N( {{2N} - 1} )}$degrees of freedom. The unitary parameters are uniformly distributed in[−π.π) interval if a unitary matrix is represented by given rotationmatrices. Based on the above optimization problem, there are N(2N−1)J−1independent variables to be optimized. If every variable is selectedfrom a grid with N_(U) points over [−π.π), an exhaustive search approachrequires N_(U) ^(N(2N−1)J−1) trials. As a relatively simple example, forN=2, J=6, and N_(U)=100, the total number of the exhaustive searchtrials is 10⁷⁰. Assuming a processor can handle 10¹⁰ trials per second(a very high end processor), it takes more than 3e52 years to checkevery possible hypothesis and determine the optimal one! The problem iseven more complex when a larger SCMA code is desired.

The rest of the SCMA code design may be dedicated to a suboptimalapproach which is practically affordable and at the same time it is notthat far from the unknown optimal solution. The basic idea of thenear-optimal solution is as follows: (1) The real-domain constellationis transferred to the complex domain based on a given criterion. Thecomplex domain constellation is used as a mother constellation; and (2)The constellation of each layer is constructed based on some seriallyconcatenated operators applied on the mother constellation.

Complex domain constellation: Real constellation

⁺ can be easily converted to complex constellation

⁺ by pairing any two real dimensions to form a complex dimension. The 2Nreal dimensions can be paired in N_(c)=Π_(n=1) ^(N)(2N−2n+1) differentways. Among the available pairing options, the one is selected with themaximum power variance across the complex dimensions, for instanceusing:

 + = argmax ⁢ ⁢ ⁢ ⁢ is ⁢ ⁢ one of ⁢ ⁢ N c ⁢ ⁢ pairing options ⁢ ⁢ of ⁢ ⁢ + ⁢ ⁢ ⁢ ( ) . ,where

${v{()}} = {\sum\limits_{n = 1}^{N}{\sum\limits_{m = 1}^{M}{( {{c_{n\; m}}^{2} - {\frac{1}{N}{c_{m}}^{2}}} )^{2}.}}}$The power variation over constellation dimensions helps the SIC propertyof a MPA detector to better remove the power variant interfering signalsarriving from different colliding layers to a resource node. Thereasoning behind this optimization criterion is further described below.Note that the complex transform from

to

does not change the constellation properties, i.e. E(

)=E(

) and d_(min)(

)=d_(min)(

).

For example, let N=2 and M=4. The real 2N=4-dimensional solution isdetermined as follows:

 + = [ - 0.7586 + 0.2626 - 0.2583 + 0.7543 - 0.1274 - 0.8822 + 0.6244 +0.3852 - 0.1835 + 0.1707 + 0.4121 - 0.3993 + 0.6120 - 0.3517 - 0.6113 +0.3509 ] ,with E(

⁺)=1 and d_(min)(

⁺)=1.6330. The 4 real dimensions can be combined in 3 different ways. Inν(·) sense, the best 2-dimensional complex solution is defined asfollows:

 + = { [ - 0.7586 - 0.1274 ⁢ i - 0.1835 + 0.6120 ⁢ i ] , [ + 0.2626 -0.8822 ⁢ i + 0.1707 - 0.3517 ⁢ i ] , [ - 0.2583 + 0.6244 ⁢ i + 0.4121 -0.6113 ⁢ i ] , [ + 0.7543 + 0.3852 ⁢ i - 0.3993 + 0.3509 ⁢ i ] } ,with

E ⁡ ( + ) = 1 ⁢ ⁢ and ⁢ ⁢ d m ⁢ ⁢ i ⁢ ⁢ n ⁡ ( + ) E ⁡ ( + ) ≃ 1.633 .The dimensional power variation is quantified as

N E ⁡ ( + ) ⁢ 1 NM ⁢ ⁢ ( + ) ≃ 0.4220 .If the constellation alphabets are built upon a QPSK constellation in atraditional CDMA way (Here the CDMA spreading sequence is simply

$\frac{\sqrt{2}}{2}( {1i} )^{T}$and the QPSK constellation set is

$ {\{ {{\pm \frac{\sqrt{2}}{2}} \pm {\frac{\sqrt{2}}{2}i}} \}.} ),$one can come up with the following typical example:

$Q = \{ {\begin{bmatrix}{{+ 0.5} + {0.5i}} \\{{- 0.5} + {0.5i}}\end{bmatrix},\begin{bmatrix}{{- 0.5} + {0.5i}} \\{{- 0.5} - {0.5i}}\end{bmatrix},\begin{bmatrix}{{- 0.5} - {0.5i}} \\{{+ 0.5} - {0.5i}}\end{bmatrix},\begin{bmatrix}{{+ 0.5} - {0.5i}} \\{{+ 0.5} + {0.5i}}\end{bmatrix}} \}$in which E(Q)=1,

${\frac{d_{\min}(Q)}{\sqrt{E(Q)}} = \sqrt{2}},$and ν(Q)=0. The gain of the multi-dimensional constellation optimizationis defined as

G ⁡ ( + / Q ) := d min ⁡ ( + ) d min ⁡ ( Q ) ⁢ E ⁡ ( Q ) E ⁡ ( + )which is around 1.25 dB for this particular example. The gain on theminimum Euclidian distance can be potentially translated to the SNR anddiversity gains for the BLER performance of an SCMA code. At the sametime, the dimensional power variation of

⁺ is an advantage for

⁺. More details on the impact of the dimensional power variation areprovided below.

After optimizing the constellation set

⁺, the corresponding constellation function g⁺ is defined to setup themapping rule between the binary words and the constellation alphabetpoints. For example, following the Gray mapping rule, the binary wordsof any two closet constellation points can have a Hamming distance of 1.As an alternative, after construction of the codebooks for all layers,the binary mapping rule of each of the layer codebooks can be setseparately.

Constellation function operators: by having a solution for the motherconstellation (

⁺ or equivalently g⁺), the original SCMA optimization problem is furtherreduced to:

[Δ_(j)⁺]_(j = 1)^(J) = argmax_([Δ_(j)]_(j = 1)^(J))m((,  = [(Δ_(j))g⁺]_(j = 1)^(J); J, M, N, K)).The definition of the operators and their optimization strategy aredescribed below.

With respect to constellation operators, let δ denote an operatorapplied on zε

. The operation is denoted by (δ)z. Three typical operators are scaling,complex conjugate and phase rotation. The scaling operator

:π is expressed as (

:α)z:=αz. A null operator is represented by (ø)z=z. The complexconjugate operator is defined as below

${( {:\tau} )z}:=\{ {\begin{matrix}z & {{\tau = 0},} \\z^{*} & {{\tau = 1},}\end{matrix},} $and also the phase operator is defined as (⊚:φ)z:=e^(iφ)z. A scalaroperator can be extended to a vector operator. Let Δ=(δ₁, . . . ,δ_(N))^(T) is applied on z=(Z₁, . . . , Z_(N))^(T)ε

^(N). By definition, (Δ)z=((δ₁)Z₁, . . . , (δ_(N))z_(N))^(T). Similarly,a matrix operator Ψγ=[γ_(nm)] can be defined as (Ψ)z=r, where(r)=r_(n)=r_(n)=Σ_(m=1) ^(N)(γ_(nm))z_(m), ∀n.

Vector permutation is an example of a matrix operator which can besimply defined as (

: π)z=Σ_(m=1) ^(N))

:π_(nm))z_(m)=Σ_(m=1) ^(N)π_(nm)z_(m)=πz, where π is a permutationmatrix. Multiple operators can be serially concatenated. For example, (

⊚{circle around (*)}: πφτ)z=(

: π)(⊚: φ)({circle around (*)}: τ)z=πdiag(e^(iφ))({circle around (*)}:τ):z.

Operators can be applied on a constellation function generator g:

^(log) ² ^(M)→

with c=g (b). Function (Δ)g is defined as (Δ)g:

^(log) ² ^(M)→(Δ)

with c_(Δ)=(Δ)g(b) where (Δ)

={c_(Δ)=(Δ)c|∀cε

}. In the process of an SCMA code design, we need those types ofconstellation operators that do not change the basic properties of theconstellation set. It can be easily shown that permutation, phaserotation, and conjugate operators hold the original properties of aconstellation. In other words, p((

⊚{circle around (*)}: πφτ)

)=p(

) for pε{E, d_(min), ν}.

As mentioned before, the constellation of the different SCMA layers areconstructed based on the mother constellation g and a layer-specificoperator Δ_(j) for layer j A layer-specific operator is defined asΔ_(j)=

⊚{circle around (*)}: π_(j)φ_(j)τ_(j).

Regarding optimization of constellation operators, when modeling theconstellation operators as above, the optimization problem of an SCMAcode can be rewritten as follows

$\lbrack \pi_{j}^{+} \rbrack_{j = 1}^{J},\lbrack \varphi_{j}^{+} \rbrack_{j = 1}^{J},{\lbrack \tau_{j}^{+} \rbrack_{j = 1}^{J} = {\arg{\max\limits_{{\lbrack\pi_{j}\rbrack}_{j = 1}^{J},{\lbrack\varphi_{j}^{\;}\rbrack}_{j = 1}^{J},{\lbrack\tau_{j}^{\;}\rbrack}_{j = 1}^{J}}{m{\quad{( {( {{{= \lbrack {( {{\otimes}:{\pi_{j}\varphi_{j}\tau_{j}}} )g^{+}} \rbrack_{j = 1}^{J}};J},M,N,K} )} ).}}}}}}$

Let ^(n)

⁺={c_(nm)=(c_(m))_(n)|∀c_(m)ε

⁺, m=1, . . . , M}, ∀n=1, . . . , N denote the nth dimension of themother constellation. Also assume that z^(n)ε^(n)

⁺. An arbitrary alphabet of the mother codeword can be represented byz=(z, z², . . . , z^(N))^(T). Let for this moment the constellationoperator of layer j is limited to the permutation matrix π_(j). Underthese assumptions, the SCMA codeword of layer j is expressed asx_(j)=q_(j)(z)=V_(j)π_(j)z. Considering AWGN channel, the aggregatereceive signal is p(z)=Σ_(j=1) ^(J) q_(j)(z)=Σ_(j=1) ^(J) V_(j)π_(j)z,where p(z)=(p₁(z), . . . , p_(K)(z))^(T) is a K×1 vector in whichelement p_(k)(z) represents the interfering polynomial of resource nodek. An interfering polynomial can be modeled asp_(k)(z)=d_(k1)z+d_(k2)z²+ . . . +d_(kN)z^(N) where ∀k, n, d_(kn)ε

. As the number of the interfering layers per resource node is d_(f),one can conclude that Σ_(n=1) ^(N) d_(kn)=d_(f), ∀k. As an example, forN=2 and d_(f)=3 the interfering polynomial of layer 1 can be p₁(z)=2z+z²meaning that the first resource node takes 3 interfering layers wheretwo of them are from the first dimension of the mother constellation andthe third element is selected from the second dimension of the motherconstellation. In general, for a given mapping matrix set V, the patternof d_(kn), ∀k, n depends on the permutation set Π=[π_(j)]_(j=1) ^(J).There is a one-to-one mapping between p(z) and Π but there is a chancethat two different permutation sets lead to the identical interferingpolynomials for any two resource nodes. The total number of theconstellation permutation choices is (N!)^(J) while the total number ofthe distinct interfering polynomials is just limited to

$\begin{pmatrix}{d_{f} + N - 1} \\d_{f}\end{pmatrix}.$

By looking at the interfering polynomial p(z) (k is dropped for the sakeof simplicity), the different dimensions of the mother constellationmight interfere at a resource node. The task of the MPA detector is toseparate the interfering symbols in an iterative fashion. As a basicrule, interfering symbols are more easily separated if their power levelis more diverse. Intuitively, the strongest symbol is first detected (orits corresponding reliability value is converged) and then it helps therest to be detected by removing the next strongest symbols,consecutively.

Based on this reasoning, the mother constellation must have a diverseaverage power level over the constellation dimensions, i.e. v(

⁺) must be maximized when

⁺ dimensions are paired to form the complex domain constellation. Thisis the rule which is discussed below for designing the mother complexconstellation. Assuming the dimensional power level of the motherconstellation is diverse enough, the permutation set must be selected ina way that it captures as much as power diversity over the interferinglayers. The power variation over the layers of an interfering polynomialcan be quantified and optimized by following one of the two approachesdescribed as follows: For a given interfering polynomial p(z), thenumber of non-zero coefficients is a simple indicator of the powervariation over the interfering layers. For example, if N=2 and d_(f)=3,we prefer p(z)=2z+z² or p(z)=z+2z² rather than p(z)=3z or p(z)=3z². Inthe later ones, all three symbols are from the same dimension hencetheir power variation is actually zero. Let n(p(z)) denote the number ofnon-zero coefficients (or equivalently the number of monomials) of p(z).

The design criterion of the permutation set is defined as follows: {Π¹⁺,Π²⁺, . . . }=arg max_(Π) min_(k) n(p_(k)(z)). As indicated above, theremight be more than one solution for the above optimization problem. Moreprecisely, the actual power variation of p(z)=d₁z+d₂z²+ . . .+d_(N)z^(N) can be quantified as follow:

μ ⁡ ( p ⁡ ( z ) ) := ∑ n = 1 N ⁢ d n 2 ⁡ ( E ⁡ ( n ⁢ + ) - E _ ) 2 E _ ,where

E ⁡ ( n ⁢ + ) = 1 M ⁢ ∑ m = 1 M ⁢  c nm  2 , ⁢ and E _ = ∑ n = 1 N ⁢ d n ⁢ E ⁡( n ⁢ + ) ∑ n = 1 N ⁢ d n = ∑ n = 1 N ⁢ d n ⁢ E ⁡ ( n ⁢ + ) d f .The design problem is described as {Π¹⁺, Π²⁺, . . . }=arg max_(Π)min_(k) μ²(p_(k)(z)). Assume Π^(l+)ε{Π¹⁺, Π²⁺, . . . } is a candidatesolution for the permutation operator led to p(z) with d_(kn) ^(l+)coefficients (Π^(l+)

{d_(kn) ^(l+)}). If the phase and conjugate operators are applied on themother constellation, the interfering polynomial can be rewritten asw(z)=Σ_(j=1) ^(J) V_(j)π_(j) ^(l+)(⊚{circle around (*)}: φ_(j)τ_(j))z Atypical resource interfering polynomial can be modeled as:

w_(k)(z) = ⩔_(u = 1)^(d_(k 1)^(l+))(:  ω_(k 1u))z+⩔_(u = 1)^(d_(k 2)^(l+))(:  ω_(k 2 u))z² + …+⩔_(u = 1)^(d_(kN)^(l+))(:  ω_(k Nu))z^(N),∀k, where V_(u=1) ^(d)(⊚{circle around (*)}: ω_(u))z^(n)=(⊚{circlearound (*)}: ω₁)z^(n)+ . . . +(⊚{circle around (*)}: ω_(d))z^(n) andω:=φτ is a phase/conjugate operator parameter.

The physical interpretation of the above model is that d_(kn) ^(l+) outof d_(f) interfering braches of resource node k come from dimension n ofthe mother constellation and each of those d_(kn) branches are uniquelytransformed corresponding to their phase/conjugate operator ω_(knu). Asmentioned before, the permutation matrix set Π^(l+) maximizes the powerlevel variation of p_(k)(z) in either n(·) or μ(·) senses. Thephase/conjugate operators ω_(knu) do not change the power variationmeasures, i.e. n(w_(k)(z))=n(p_(k)(z)) or μ(w_(k)(z))=μ(p_(k)(z)).However, the branch operators help to increase the minimum Euclidiandistance between the interfering dimensions. The distance between anytwo dimensional sets with any arbitrary operators is defined as:D_(pair) ²((δ₁)^(n) ¹

⁺, (δ₂)^(n) ²

⁺):=min_(m) ₁ _(,m) _(2ε{1, . . . , M}) |(δ₁)c_(n) ₁ _(m) ₁ −(δ₂)c_(n) ₂_(m) ₂ |², ∀n₁,n₂ε{1, . . . , N}. Therefore, for a given permutation setΠ⁺

=>{d_(kn) ⁺}, the phase/conjugate operators of every resource node k areoptimized as follows:

Ω k l + = { { ω k ⁢ ⁢ 1 ⁢ u l + } u = 1 d k ⁢ ⁢ 1 l + , … ⁢ , { ω kNu l + } u= 1 d kN l + } = arg ⁢ max operators ⁢ min n 1 , n 2 ∈ { n | n = 1 , … ⁢ ,N , ⁢ and ⁢ ⁢ d kn l + > 0 } ⁢ ⁢ u 1 ∈ { 1 , … ⁢ , d kn 1 l + } ⁢ ⁢ u 2 ∈ { 1 ,… ⁢ , d kn 2 l + } ⁢ ⁢ ( u 1 , n 1 ) ≠ ( u 2 , n 2 ) ⁢ D pair 2 ⁢ ⁢   ( ( ⁢ : ωkn 1 ⁢ u 1 ) ⁢ n 1 ⁢ + , ( ⁢ : ω kn 2 ⁢ u 2 ) ⁢ n 2 ⁢ + )

The solution to the above problem is found with exhaustive search overall the possible operator combinations. Ω_(k) ^(l+) representing theoperator solution of resource node k for a given permutation candidateΠ^(l+). The optimal pair-wise minimum distance of Ω_(k) ^(l+) isindicated by d_(pair) ²(Ω_(k) ^(l+)) The sparse structure of SCMA codehelps to reduce the complexity of the above optimizations since thetotal number of operators is limited to d_(f). The complexity analysisof the exhaustive search optimization is as follows: (i) Number ofoperators to be optimized: d_(f)−1. One operator can be null; (ii)Number of dimensional set pairs:

$\quad{\begin{pmatrix}d_{f} \\2\end{pmatrix};}$(iii) Number of distance calculations in D_(pair) ²(·,·): M²; (iv)Number of real add/mul. operations for a distance calculation: 7 adds+10 muls. If the cost of a real multiplication is α (≧1) times more thana real addition, the total cost of a distance calculation is 7+10α; (v)Number of options for a phase/conjugate operator: 2N_(φ), where N_(φ) isnumber of grid points in the phase interval [−π,π); (vi) Maximum numberof interfering polynomials:

$\begin{pmatrix}{d_{f} + N - 1} \\d_{f}\end{pmatrix}.$This the worst case scenario where the candidate permutation set {Π₁ ⁺,Π₂ ⁺, . . . } covers up all the possibilities of the interferingpolynomials.

Based on the above parameters, the upper bound on the complexity cost Cof the exhaustive search optimization is:

$C < {( {d_{f} - 1} )\begin{pmatrix}d_{f} \\2\end{pmatrix}{M^{2}( {7 + {10\;\alpha}} )}2\;{{N_{\varphi}\begin{pmatrix}{d_{f} + N - 1} \\d_{f}\end{pmatrix}}.}}$

By way of example, if M=4, N=2, d_(f)=3, N_(φ)=360, and α=2

C<7464960≅7.5e6 which can be computed in a short time in a typical 2 GHzprocessor. Note that these are all offline computations just for an SCMAcoding optimization. At this point, the candidate permutation set {Π¹⁺,Π²⁺, . . . } and their corresponding operators and optimal distances,which are given as {{Ω_(k) ¹⁺}_(k=1) ^(K), {Ω_(k) ²⁺}_(k=1) ^(K), . . .} and {{d_(pair) ²(Ω_(k) ¹⁺)}_(k=1) ^(K), {d_(pair) ²(Ω_(k) ²⁺)}_(k=1)^(K), . . . } (respectively), are available.

The best permutation set can be easily selected based on the followingcriterion: Π⁺, {Ω_(k) ⁺}_(k=1) ^(K)=arg max_(Π) _(l+) _(ε{Π) ₁₊ _(,Π) ₂₊_(, . . . }) min_(k) d_(pair) ²(Ω_(k) ^(l+)), and if there is more thanone solution of (Π⁺,{Ω_(k) ⁺}_(k=1) ^(K)) for the above problem, amongthose, the one is selected which has the maximum total minimum distance,i.e. Σ_(k=1) ^(K) d_(pair) ²(Ω_(k) ⁺) is the largest.

As an alternative to the pair-wise operator optimization criterionmentioned above, a superposition criterion is introduced for operatoroptimization, as well. The superposition criterion is defined as below:

Ω k l + = { { ω k ⁢ ⁢ 1 ⁢ u l + } u = 1 d k ⁢ ⁢ 1 l + , … ⁢ , { ω kNu l + } u= 1 d kN l + } = argmax operators ⁢ d min 2 ⁡ ( ( ⁢ : ω k ⁢ ⁢ 11 ) 1 ⁢ + + … +( ⁢ : ω k ⁢ ⁢ 1 ⁢ d k ⁢ ⁢ 1 l + ) 1 ⁢ + + … + ( : ω kN ⁢ ⁢ 1 ) N ⁢ + + … + ( ⁢ : ωk ⁢ ⁢ Nd k ⁢ ⁢ N l + ) N ⁢ + ) ,in which for any two sets

and

, we define

+

:={c|c=a′b, ∀aε

and ∀bε

}. The superposition and pair-wise criteria are compared below.

After optimizing the operators and determining the optimal w(z), theimmediate question is how to allocate the optimal operators to thedifferent interfering layers. As a simple example, the correspondingoperators of interfering polynomial p₁(z)=2z+z² isw₁(z)=(ω₁₁₁Vω₁₁₂)z+w₁₂₁z². According to p₁(z), two interfering layersare from the first dimension. FIG. 11 illustrates a factor graph 1100,ω₁₁₁ and ω₁₁₂ can be allocated to either of the interfering layers. Herethe total number of the allocation options is 2.

As a general rule, for an interfering polynomial of formw_(k)(z)=V_(u=1) ^(d) ^(k1) (⊚{circle around (*)}: ω_(k1u))z+V_(u=1)^(d) ^(k2) (⊚{circle around (*)}: ω_(k2u))z²+ . . . +V_(u=1) ^(d) ^(kN)(⊚{circle around (*)}: ω_(kNu))z^(N), ∀k. Notably, the operators can beallocated to an SCMA code in Π_(k=1) ^(K) Π_(n=1) ^(N) d_(kn)! differentways. As shown later, the impact of the operator allocation on theperformance of the final SCMA code is negligible. The reason is thatregardless of what operators are allocated to what interfering layers,the combined interference at a given recourse node does not change.Based on this observation, the optimized operators can be randomly (orin a given order) allocated to the interfering layers of each resourcenode to construct the final SCMA code.

In some instances, LDS as a special case of SCMA. An LDS modulator isdefined by its signature matrix S=[s_(j)]_(j=1) ^(J) and input QAMconstellation points q:

^(log) ² ^(M)→Q⊂

where q=q(b). The whole LDS modulator is represented by

([_(j)]_(j=1) ^(J), q; J, M, N, K) in which K is the length and N is thenumber of non-zero elements of every signature. An LDS modulator can beredefined based on the SCMA structure, in accordance with

([s_(j)]_(j=1) ^(J), q; J, M, N, K)=

([V_(j)]_(j=1) ^(J), [g_(j)]_(j=1) ^(J); J, M, N, K), in whichg_(j)≡Δ_(j)g, g≡q1_(N), 1_(N) is an all-one vector of size N, Δ_(j)=⊚:phase (s_(j) ^([ø])), phase(ae^(iθ))=θ for any non-negative aε

and θε[−π,π), s_(j) ^([ø]) is a N-dimensional complex vector of thenon-zero elements of s_(j), [V_(j)]_(j=1) ^(J) is built up on the factorgraph matrix F, and (F)_(kj)=1 if and only if (S)_(kj)≠0. Therefore, anLDS modulator is a special SCMA code with a simple multi-dimensionalmother constellation constructed by the repetition of QAM constellationpoints and hence ^(n)

=Q, ∀n=1, . . . , N. In addition, a constellation operator is limited toa phase rotation without any conjugate or permutation operations. Thepermutation has no impact when all the dimensions of the motherconstellation are identical. Following an SCMA code design procedure,the pair-wise optimization of LDS signatures for a given mapping matrixset [V_(j)]_(j=1) ^(J) is formulized as follows: {_(u) ⁺}_(u=1) ^(d)^(f) =arg max_(phases) min_(1≦u) ₁ _(<u) ₂ _(≧d) _(f) D_(pair) ²((⊚:φ_(u) ₁ )Q, (⊚: φ_(u) ₂ )Q), in which one operator is set to null, forexample φ₁ ⁺=0. Also, the superposition criterion for LDS signatureoptimization is expressed as: {φ_(u) ⁺}_(u=1) ^(d) ^(f) =argmax_(phases) d_(min) ²((⊚: φ₁)Q+(⊚: φ₂)Q+ . . . +(⊚:φ_(d) _(f) )Q).

Similar to SCMA code, the operators of a resource node can be allocatedto the interfering layers in d_(f) ! different ways. The phase operatorsof the SCMA code are equivalent to the phase rotations of the signaturesof the LDS modulator. For the case that Q is a M-PSK constellation, thesolution to the above pair-wise optimization problem is straightforward:

${\varphi_{u}^{+} - {( {u - 1} )\frac{2*\pi}{{Md}_{f}}} + {e_{u}\frac{2\pi}{M}}},$∀u=1, . . . , d_(f), where e_(u) is any arbitrary member of

. FIG. 12 illustrates a graph showing an example optimal phaserotations, in which N=2, M=4, and d_(f)=3 the optimal phase rotationsare

$\{ {0,\frac{\pi}{6},\frac{\pi}{3}} \}.$

Every resource node has 3!=6 options to allocate phases to theinterfering layers. The total number of the options for the wholesignature set with 4 resource nodes is 6⁴=1296.

An LDS system can be molded as y=diag(h)Su+n. Note that for adjacentresources h is almost constant. We replace u=S^(†)x+z where S^(†) is thepseudo inverse of the signature matrix S and x to represent the coresignal transmitted over the resources which results in the lowest postprocessing power for z which is diag(Szz^(H)S^(H)). By selecting x=Su,the projection of the post processing noise power over the dimensions ofS associated with z is diag(Szz^(H)S^(H))=0. The final SNR for the coresignal is a function of the original SNR and the power of u which isconstant given the constraint of designing the signature matrix.However, the post processing power of each layer is a function of thepower of z which is given by N₁=diag(E{zz^(H)})=diag((I−S^(†)S)²),assuming that the total power of the transmit signal is normalized. Onecan notice that trace{(I−S^(†)S)} is constant, therefore, in order tominimize the total transformation noise and using the Cauchy-Schwarzinequality, all the values in the vector N₁ are the same. Moreover,different layers differ by diag(S^(†)S^(†H)). In other words, notconsidering the non-linear effect of MPA, the final SNR for all layersis given by:

$\gamma = {\frac{{diag}( {S^{\dagger}S^{\dagger\; H}} )}{N_{1} + N_{0}}.}$

In the above, N₀ is the effective post processing noise and division isperformed element by element. One should note that all the abovecalculations are for insight only and the non-linearity of MPA willaffect the accuracy of the calculation. As the MPA tries to decode thelayers, it is actually trying to reduce the impact of the transformationnoise N₁ on the core transmit signal. In order for MPA to convergebetter, one should try to make the signal powers and noise powers of allthe layers to be close to each other but not the same. Very differentvalues result in very different performance for different layers andvery close values results in difficulty for MPA to converge properly.After convergence of the MPA algorithm, the dominant factor indifferentiating the performance of different layers is their powersmeasured by diag(S^(†)S^(†H)). The above calculations show threefactors: (1) The core noise enhancement caused by the signature shouldbe reduced in order to improve the performance of all layers; (2) Theperformance of individual layers is affected by the effectivepost-processing power denoted by diag(S^(†)S^(†H)); and (3) The overallthroughput of the code is obtained when the values of the transformationnoise vector are close to each other (but not very close) and theeffective power per layer is also the same. One can apply different FECcode rates to different layers based on their effective signal power tomaximize total throughput.

With respect to SCMA Performance, performance of an SCMA code can beevaluated through a link-level simulation. However, as an alternativeapproach, EXIT chart technique is adopted for the SCMA code evaluation,as well. EXIT chart is also used to confirm the validity of the proposeddesign methodology for SCMA codes. EXIT chart is used as a designingtool and relative performance prediction of SCMA codes.

Regarding EXIT Chart Evaluation Methodology. Belief propagationalgorithms rely on convergence of wisdom among different nodes whereoptimal decoder is practically impossible. LDPC, turbo codes, LDS andSCMA are examples of systems, where belief propagation is the onlyviable solution for decoding. Those systems are described by multiplenodes from same or different types that exchange information and at eachiteration try to utilize the underlying code properties. For example,turbo code is modeled by two component codes which exchange a large setof information. Information is interleaved/de-interleaved to maintainsome level of independency among adjacent positions. For LDPC, the codeis described by a bipartite graph, where check nodes and variable nodesexchange information and the graph is designed such that short loops arerare/nonexistent to maintain information independence among edgesconnected to the same node.

EXIT chart is a very interesting and powerful tool to design and predictthe performance of such codes. For a very long code and with informationindependence at each node, one can model each component as a function inwhich it combines the information given by the other nodes with itsintrinsic information and returns the information back to those nodes.Each node can be described by a transfer function, where the averageextrinsic output information is a function of its average extrinsicinput information. The exit chart then predicts whether the decoder islikely to converge after reasonable number of iterations between the twonodes. By depicting the transfer function of one node and the mirroredtransfer function of the other node with respect to Y=X line, the codeis likely to converge if the two transfer functions do not collide.Moreover, the wider the gap between the two curves for its entirety, thefaster and likelier the convergence of the decoder.

SCMA is an example of such codes which can be represented by a bipartitegraph where layer nodes exchange information with resource nodes. Forthis code, we study its EXIT chart to predict the performance and studythe designing criteria. Unfortunately, since the code graph is verysmall compared to its LDPC counterparts, EXIT chart is not very accuratein predicting the convergence as (i) the information is not totallyindependent due to short loop sizes, and (ii) the code length is smalland the law of the big numbers does not apply. However, studying theEXIT chart for these codes can lead us on comparing different designs aswell as some tool for designing such codes.

Regarding EXIT chart for SCMA. SCMA consists of two component nodes,layer node and resource nodes. At each layer node, the carriedinformation represents the same constellation node and in each resourcenode, the constellation points associated with multiple layers areinterfering with each other. A resource node utilizes its intrinsicinformation which is the received complex signal with its extrinsicinformation on other layers to estimate the output extrinsic informationon each of the layers. In a layer node, the intrinsic information whichis the a priori information about the layers set by the encoder or fromouter loop decoder is combined with the extrinsic information todetermine the information about the layer as well as the extrinsicinformation back to the resource nodes. In the Appendix, how to modelthe input and output information is described. Such modeling is notunique and a wise selection should mimic the dynamics of the informationexchange in the code. Each link in SCMA can carry up to the maximuminformation in the constellation, which in our study is set to two bits.One may notice that unlike LDPC and turbo codes where the role of thecode is to make sure all the information bits converge, SCMA is neitherrequired nor able to do so. The reason is at each resource node, even ifthere is full 2-bit extrinsic information for all other edges, noisestill exists and results in less than perfect extrinsic information atthe output of the resource nodes. However, this is not an issue sinceSCMA decoder is follows by FEC decoder(s) and it requires inputinformation that is slightly higher than its code rate. For example witha code rate of ½, one requires only 1 bit per layer node information atthe output to satisfy FEC decoder.

To achieve this, three components may be used: (i) modeling the EXITtransfer at a layer node, (ii) the EXIT transfer at a resource node, and(iii) the output information at each layer. Here, an algorithm isprovided to generate the aforementioned information and predict theperformance of the code.

The following relates to Generating an EXIT chart for SCMA. Whilemaintaining the generality of the algorithm, we use the example of SCMAwith four resources and six layers, where each layer is connected to tworesource nodes and each resource node is the superposition of fourlayers. We assume that the number of points in the constellation is fourwhich means up to two bits of information is carried per edge. We useSISO AWGN channel for generating EXIT chart for resource nodes. For agiven SCMA with a given factor graph, constellation set and operatorset, the procedure to produce the EXIT chart for resource nodes is asfollows: (1) Set the resource node noise level (N₀) according to theworking SNR value. This value is affected by the code rate of the FEC;(2) At each of the resource nodes (4 in this particular example), setthe power level for each edge in the factor graph, based on the powersetting of the layer node linked to that resource node. The details ofhow to set the power levels are explained in the appendix; (3) Set anauxiliary noise level range (N₁) to model different levels of inputextrinsic information. When N₁ is very large, no extrinsic informationis available. Very small auxiliary noise levels mean perfect extrinsicinformation (2-bits in the example) is available at the input of theedge. Quantize the range of the auxiliary noise level into a vector.Continue the procedure with the first entry in the vector; (4) For eachlayer, select one of the constellation set according to theconstellation probability (¼ for each of the 4-point in theconstellation in this example); (5) For each resource node, generate thereceived Gaussian noise based on the channel noise level N₀; (6) Foreach edge at each resource node, using the power settings of step 2 andthe selected auxiliary noise level N₁, generate a 4-tuple set ofprobabilities as explained in the appendix; (7) Find the average inputextrinsic information for all edges at the factor graph, then store itas X; (8) Perform the 4-touple output extrinsic probability for each ofthe edges in the factor graph. In this example, 12 output extrinsicinformation values are generated; (9) Find the output extrinsicinformation given by each of the 4-tuple probabilities, then store it asY₁ to Y_(L). L=Kd_(f) is the number of edges in the factor graph (12 inthe example); (10) Repeat steps 4 to 9 for many times (1000 as anexample); (11) Average the input information (X) and the outputinformation (Y) over all repetitions. Store it into X and Y ₁ to Y _(L);(12) For each of the variable nodes, combine the output extrinsicinformation (as explained in the appendix) to find the output extrinsicinformation Z₁ to Z₁, where J is the number of layers; (13) Repeat steps4 to 12 for all the values of the auxiliary noise vector.

The values of Y with respect to X represent how a resource node canutilize the extrinsic information. A higher curve predicts a faster andmore reliable convergence of the information. Z values predict howdifferent layers behave when the MPA algorithm converges.

The following procedure can be used to estimate the transfer functionsfor layer nodes. In the easy example of layer nodes with two nodes andno a priori information, the transfer function is just Y=X line: (1) Ateach of the layer nodes (6 in this example), set the power level foreach edge in the factor graph, based on the power setting of the layernode linked to that resource node. The details of how to set the powerlevels are explained in the appendix; (2) Set an auxiliary noise levelrange (N₁) to model different levels of input extrinsic information.When N₁ is very large, no extrinsic information is available. Very smallauxiliary noise levels mean perfect extrinsic information (2-bits in theexample) is available at the input of the edge. Quantize the range ofthe auxiliary noise level into a vector. Continue the procedure with thefirst entry in the vector; (3) For each layer, select one of theconstellation set according to the constellation probability (¼ for eachof the 4-point in the constellation in this example); (4) For each edgeat each layer node, using the power settings of step 2 and the selectedauxiliary noise level N₁, generate a 4-tuple set of probabilities asexplained in the appendix; (5) Find the average input extrinsicinformation for all edges at the factor graph and then store it as X;(6) Perform the 4-touple output extrinsic probability for each of theedges in the factor graph. In this example, 12 output extrinsicinformation values are generated; (7) Find the output extrinsicinformation given by each of the 4-tuple probabilities, then store it asY₁ to Y_(L). L=Kd_(f) is the total number of edges in the factor graph(12 in the example); (8) Repeat steps 3 to 7 for many times (1000 as anexample); (9) Average the input information (X) and the outputinformation (Y) over all repetitions. Store it into X and Y ₁ to Y _(L);(10) Repeat steps 3 to 9 for all the values of the auxiliary noisevector.

The values of Y with respect to X represent how a layer node exchangesthe information among the edges in the same layer node. A higher curvepredicts a faster and more reliable convergence of the information.Since the input extrinsic information for a layer node is the output ofa resource node and vice versa, usually, the EXIT chart for these nodesis mirrored along the Y=X line.

Regarding EXIT chart evaluation and performance prediction. Thefollowing description relates to the EXIT chart evaluation methodology,and in some instances to EXIT chart evaluation methodology for a simplecode with an example factor graph. In the following, the channel isassumed to be a SISO AWGN with SNR of 8 dB.

Regarding EXIT chart for LDS. In LDS, the constellation points aresimply taken from the QPSK points and the signatures are as following:

$S_{1} = {\begin{bmatrix}0 & 1 & {- 1} & 0 & {\mathbb{i}} & 0 \\1 & 0 & {\mathbb{i}} & 0 & 0 & {- 1} \\0 & {- 1} & 0 & {\mathbb{i}} & 0 & 1 \\{\mathbb{i}} & 0 & 0 & {- 1} & 1 & 0\end{bmatrix}.}$

For code signature 1, the extrinsic transfer functions for the resourcenodes of LDS are shown in the following curves. As can be seen in theFIG. 13, the output information at all nodes are the same. This is notsurprising as all the edges in LDS experience the same constellation andpower level. As mentioned before, the transfer function for a layer nodewith two edges is just exchanging the information (i.e. Y=X line). Thiscurve collides with Y=X line at about 1.2 bits suggesting that with verylarge LDS, the code will converge to about 1.2 bits of information peredge. The convergence of the information is shown by the arrows in theEXIT chart as the information is exchanged between function and layernodes. One should note that such assumption does not hold for a codeconsisting of only 4 resources and 6 layers. FIG. 14 shows the outputinformation for the same extrinsic information.

FIG. 14 shows the output information at the output of the layer nodes.For a very large LDS, the extrinsic information at the edges would riseup to 1.2 bits, which suggest that the information at the output wouldbe as high as 1.6 bits for the SNR of 8 dB and therefore a code rate ofless than 0.8 should suffice for decoding. Note that in the SNR of 8 dBthe capacity for each link is 1.9132 bits which is only 20% higher thanthe predicted rate by the EXIT chart. Again, such assumption does nothold here.

For LDS with signature 2 as follows:

$S_{2} = \begin{bmatrix}0 & 1 & {\mathbb{e}}^{\frac{j\;\pi}{3}} & 0 & {\mathbb{e}}^{\frac{j\; 2\pi}{3}} & 0 \\{\mathbb{e}}^{\frac{j\pi}{3}} & 0 & 1 & 0 & 0 & {\mathbb{e}}^{\frac{j2\pi}{3}} \\0 & {\mathbb{e}}^{\frac{j2\pi}{3}} & 0 & {\mathbb{e}}^{\frac{j\pi}{3}} & 0 & 1 \\{\mathbb{e}}^{\frac{j2\pi}{3}} & 0 & 0 & 1 & {\mathbb{e}}^{\frac{j\pi}{3}} & 0\end{bmatrix}$

The curves in FIGS. 15-16 express the EXIT charts. We can note that theEXIT chart predicts the extrinsic information to grow to around 1.5 bitsper edge and the output information to around 1.8 bits, which is 6% awayfrom capacity. As mentioned before, the assumptions of large code andindependent streams do not hold here.

With respect to an EXIT chart for SCMA. There are many parametersaffecting the performance of SCMA. Those include the complexconstellation selection, effect of phase optimization, selecting theright permutation, assigning different resource nodes to layer nodes,etc. In the following we study the effect of those elements.

With regards to the effect of phase and conjugate operators. Thefollowing uses the optimized multi-dimensional constellation to evaluatethe EXIT chart. For each resource node with three edges, four optionsare possible: (i) all three edges are selected from the first row in theconstellation matrix, (ii) two edges from the first row and one from thesecond one, (iii) two from the second row and one from the first one,and (iv) all three edges are from the second row. Here we representthese resource nodes by types T₁, . . . , T₄.

The extrinsic information transfer function for these four types ofresource nodes without or with phase/conjugate optimizations are shownin FIG. 17 and FIG. 18, respectively.

From these figures, the following conclusions can be drawn: (1) Theoutput extrinsic information at the output of resource nodes is higherwhen the phase/conjugate operators are optimized. This is even moreobservable when there is little extrinsic information available for theother layers (i.e. the left part of the curves); (2) This results in abetter convergence of the MPA algorithm with optimized phase andconjugate; (3) For nodes that all the constellation points are from thesame row (i.e. types T₁ and T₄, the difference are higher; (4) Theoutput extrinsic information for edges using the first row ofconstellations is higher than the other ones. This is due to the factthat more power is transmitted over those links; (5) At the right handof the curves, where there is perfect information about the interferenceat the resource node, all that matters is the power assigned to thatlink.

Regarding link-level evaluation. The link-level simulation results areshown to justify the proposed design methodology for SCMA and LDS. Inaddition, the performance of the designed SCMA and LDS codes arecompared with the best LDS signatures already exist. Throughout thewhole simulation results presented below, the basic parameters as set asfollowing: N=2, K=4, J=6, d_(f)=3.

Regarding the effect of constellation for SCMA. For a given real domainmultidimensional constellation, the impact of the dimension powervariation of the complex domain constellation is shown in FIGS. 19 a-b.As shown in FIGS. 19 a-b, a higher power variation improves the overallperformance.

Regarding the effect of permutation operator on SCMA. The impact of thepermutation operator on the performance of an SCMA code is presented inFIG. 20. These results confirm that the interfering polynomials shouldhave as many as possible number of monomials to take advantage of thedimensional power variation of the mother constellation by increasingthe near-far effect at the resource nodes.

Regarding the effect of phase/conjugate operators for SCMA. FIG. 21illustrates the impact of phase/conjugate operators on the performanceof an SCMA code. In general, the impact of operator optimization ispositive, but for this particular case the gain is not very high.

As explained before there are two approached to optimize thephase/conjugate operators: (i) pair-wise optimization, and (ii)superposition optimization. FIG. 22 compares these two criteria.According to this figure, two approaches might tend to differentbehavior of the designed codes. The code which is designed based on thepair-wise criterion shows more uniform performance across the differentmultiplexed users.

Regarding the Impact of operator allocation for SCMA. Allocation of theoptimized operators to the interfering layers of a resource node is anissue which cannot be clearly addressed. For the underlying SCMA code,there are 16 different allocation options. FIG. 23 compares theperformance of the 16 options in terms of overall goodput. Fortunately,the operator allocation shows a negligible impact on the ultimateperformance of SCMA code. As mentioned before, the optimizedphase/conjugate operators can be randomly or in a manual order allocatedto the interfering layers.

Regarding the Effect of real domain unitary operation for SCMA. Aunitary matrix can be applied on the real domain multi-dimensionalconstellation to change the dimensional properties of the points whilemaintaining the multi-dimensional (such as minimum distance of theconstellation points) properties of the constellation unchanged.Dimensional power variation is an example of dimensional property of themultidimensional constellation. Also, minimum distance of the pointsover each dimension set is another dimensional property. In the exampleshown in FIG. 24 a real unitary matrix is applied to the real domainmulti-dimensional constellation to maximize the maximum distance of thepoints in each dimension set while maintaining the minimum distance ofeach dimension set more than 0.1. The unitary matrix is optimized by arandom search. Clearly, the real domain unitary matrix operator canimprove the overall performance of an SCMA code.

Regarding the Comparison of SCMA codes in terms of overall goodput. Theoverall sum goodput of the SCMA codes and the impact of the differentoptimization parameters are shown in FIG. 25. Comparison of the goodputcurves confirms the efficiency of the multi-stage optimization approachproposed in this report.

Regarding the Signature optimization for LDS. One example ofconventional LDS signatures can be found in “Multiple Access withLow-Density Signatures,” Huawei Technologies Sweden, IEEE GLOBECOM 2009,which is incorporated herein by reference as if reproduced in itsentirety. The goodput performance of the optimized LDS signatures (ofthis disclosure) and the conventional LDS signatures (found in the abovementioned IEEE article) are compared in FIG. 26. As opposed to SCMA, theimpact of phase allocation is clearly huge by comparing allocationeffect for the pair-wise optimized phases. With a good operatorallocation, both superposing and pair-wise optimization criteria almostperform identically.

TABLE 3 Post-processing noise and signal power of different LDSsignatures Layer-1 Layer-2 Layer-3 Layer-4 Layer-5 Layer-6 Very BadNoise 0.191 0.035 0.141 0.141 0.035 0.191 signature Signal 0.609 1.9220.844 0.844 1.922 0.609 Branislav Noise 0.171 0.171 0.019 0.171 0.0960.096 Signal 0.642 0.642 2.490 0.849 1.413 1.413 Pair-wise bad Noise0.141 0.141 0.250 0.000 0.141 0.141 allocation Signal 0.844 0.844 0.3753.000 0.844 0.844 Pair-wise good Noise 0.136 0.117 0.136 0.036 0.1560.036 allocation Signal 0.663 0.895 0.742 1.440 0.742 1.440Superposition Noise 0.065 0.146 0.146 0.065 0.115 0.149 good allocationSignal 1.301 0.770 0.770 1.301 0.888 0.686

The reason behind the behavior of the signatures can be explained basedon their corresponding noise/signal processing as listed it Table 3.This table can predict the relative performance of the users of asignature matrix. For example, for the first signature set with a badperformance, the noise/signal analysis predicts that UE 2 and 5 have thebest performance with the highest post-processing signal power and thelowest noise power. Meanwhile, UE 1 and 6 should have poor performancedue to their lowest post-processing SINR. This predication can beconfirmed by the link-level simulation results shown in FIG. 27( a).

According to the table, Branislav signatures have more uniformsignal/noise distribution across the layers but still UE 3 outperformsthe other UEs as also can be seen in FIG. 27( b). By comparing these twosignature sets, one can conclude that a signature set provides bettergoodput performance if there is no big differences among thesignal/noise power levels of the layers. As a general concept of SICdetection, a minor difference between the layers can help to improve theperformance of a SIC detection but a large difference tends to aperformance loss as shown for the first signature set.

The impact of the phase allocation of the performance of LDS can be seenin Table 3 and FIGS. 28( a)-(b) for the pair-wise optimized phases. Witha good phase operator allocation, the post-processing signal/noise powerlevels of the signature set are balanced and hence the overallperformance is improved.

Regarding the Performance of SCMA vs. LDS. In theory SCMA shouldoutperform LDS due to the shaping gain of the multi-dimensionalconstellation. However, the potential gain is feasible if the optimal ornear-optimal SCMA code is feasible with a reasonable design approach.FIG. 29 compares the performance of Branislav LDS as the baseline withour best SCMA and best LDS. Our both LDS and SCMA solution outperformthe baseline but the gain of SCMA over best LDS is not noticeable, forthis particular example. SCMA as a new multiple-access modulationapproach is propped which has the advantages of CDMA and LDS as well assome potential gain of complex domain coding gain. Even though thestructure of the code is well defined, the design and optimization ofthe code is a channeling part. A sub-optimal design methodology isproposed here based on a multi-stage optimization approach. In addition,a fast and efficient evaluation methodology is developed based on EXITchart technique to design SCMA codes.

It is shown that LDS is a special simplified case of the SCMA structure.Consequently, the developed design methodology of SCMA is reused todesign LDS signatures is a systematic manner. The simulation resultsprovided illustrate the efficiency of the design approach for both SCMAand LDS.

Regarding the EXIT Chart Modeling. Belief propagation algorithm rely onconvergence of the belief among nodes as the information is passed backand forth between the nodes in a graph such as LDPC, turbo code, LDS,etc. extrinsic information transfer (EXIT) chart is introduced byStephen ten Brink (2001) and developed by many others to design, predictthe performance and compare different codes. In an exit chart, theaverage belief after each node as a function of the average beliefentered to the same node for given intrinsic information is describedand predicts whether the iteration results in better understanding ofthe encoded information.

Regarding the EXIT chart Modeling, to find the transfer function for anynode, one needs to model the extrinsic information passed to the nodewith a reasonable statistical model and then examine the statistics ofthe output information at the output of the node. An SCMA decoderconsists of layer nodes and resource nodes. The resource nodes alsoreceive intrinsic information due to the received complex signal passedthrough the channel. The extrinsic information passed to each node forboth layer and resource nodes consists of the N-tuples of probabilities(with N=4 for 2-bit nodes). The outputs are also of the same structureand the information carried by those probabilities (over many N-tuples)is simply the entropy defined by those probabilities. In the followingthe procedure for extracting the EXIT chart for each component isexamined. For simplicity we focus on SCMA matrix consisting of fourresource nodes and six layer nodes. We assume that each resource nodecomprises of three symbols and each layer node connects to two resourcenodes. We also limit the EXIT chart extraction to AWGN SISO channel.Such restrictions do not limit the generality of the approach.

Regarding the Modeling Intrinsic Information at Resource Nodes, theinput to the resource node as the extrinsic information is the receivedcomplex signal which comprises of the superposition of the threetransmitted signal plus AWGN. To model that, for each input instance,three input tuples of size 2 bits are randomly generated. Then thereceived signal assuming a given SNR is calculated. The variance of thenoise is N₀=P/SNR, where P is the total transmit power and SNR is thegiven fixed SNR.

Regarding the EXIT chart Modeling 4-tuples Extrinsic Probabilities forResource Nodes, the extrinsic information for the resource nodesconsists of four probabilities constrained to a summation on one andcorrelated with the actual transmitted point. Here, for each point inthe constellation, we model its probability with the probability out ofa BPSK transmission over AWGN model. For this purpose, we assume we havean AWGN channel with transmit power P associated with the power thearriving extrinsic information and noise power N₁. One should noticethat value of N₁ has nothing to do with the actual noise power at thechannel and is only a tool to generate N-tuples of SNR with differentlevels of information. As for the transmitted power P, we will discussit later. A larger noise power in the model results in a lower level ofinformation at the input and vice versa.

For all the N points in the constellation, we generate a binarytransmission over an AWGN channel. For the actual transmitted point (theone point that is transmitted when modeling the intrinsic information),we assume +1 is transmitted and for all other N−1 points, we assume −1is transmitted. Therefore, the LLR resulting from the actual transmittedpoint is

${= \frac{4y\sqrt{P}}{N_{1}}},$where y is √{square root over (P)}+n for the actual transmitted pointand −√{square root over (P)}+n for all other points. This gives us avector of LLRs with size N. Each LLR can then be transformed in toprobability as

$= {\frac{1}{1 + {\mathbb{e}}^{{- L}\; L\; R}}.}$The resulting probabilities are then normalized to meet the sumconstraint. The entropy represented by these probabilities is describedby Σ−p log₂ p. Finally, by repeating this procedure over manyrealizations of probabilities, the average extrinsic information at theinput of the resource nodes is determined. The average extrinsicinformation is then log₂ M+E{Σp log₂ p}. Please note that for a resourcenode connected to three layer node, the extrinsic information level arenot necessarily the same and one can assign different noise levels (N₁)to the model described here. However, since the extrinsic informationfor one link is not a function of the information arriving from the samelink, focusing on one link as the output, we need to generate theextrinsic input for the other two only. In other words, the EXIT chartfor one specific output for a given SNR at the channel is a functionwith two inputs and one output. However, for simplicity of EXIT chartvisualization, we use the same noise level at the input and use theaverage information of the inputs as the average input information.

Regarding the EXIT chart Modeling 4-tuples Extrinsic Probabilities forLayer Nodes. Layer nodes in SCMA have no intrinsic information unlessnon-uniform constellation probability distribution is used. Other thanthat the generation of the input information is the same as what justdescribed for resource nodes. However, the very structure of the layernodes makes prediction of the behavior easier. In a layer node with Mlinks, each link at the output combines the information at the input ofall other links. For a Gaussian input, it just reduces to MRC whichmeans the output SNR at each link is the sum of the input SNR at eachlink. In other words, one can assume that the power at the output ofeach node is the summation of the input power for all other nodes. Thisphenomenon is used for assigning the power at the input of the model forresource nodes.

With this model, we do not need to explicitly describe the EXIT chart ofa layer node, and for a 2-link layer node, the output extrinsic info foreach node, is the input extrinsic info for the other node and viceversa.

Regarding the Model for Power Assignment for Resource Node Input. Asdescribed earlier, the complete EXIT chart for each node is amulti-dimensional function. In order to represent it by aone-dimensional function one should assume a relationship betweendifferent inputs to the node. Here, we use power assignment fordifferent links to differentiate between them. For example, if differentusers have different signal powers, this can be reflected in the powerassignment for the inputs to a resource node. It was mentioned earlierthat the input to the resource node is the output of the layer nodes andthe EXIT function to that is the sum of the power for all othercomponents in the signature to that user. Therefore, one can assign thetransmit power for different inputs based on the power allocated for allother constellation points for that stream (not including the one inquestion) and differentiate between the users in the same resource node.

Regarding the Model for Power Assignment for Layer Node Input. Theextrinsic information coming out of a resource node is a function ofmany things, but the most important factor is its power per that layerin that resource. Therefore, the power allocation for the input of alayer node is simply proportional to the power of that layer in thecorresponding resource.

Regarding the Probability Combining at Layer Nodes. The outcome of theMPA for SCMA is the N-tuple probabilities at the layer nodes. This isdone by multiplying all the extrinsic information probabilities at thelayer node and normalizing it to a sum of one. To model this, we modelthe system with parallel binary symmetric channels. For each link to thelayer node, the extrinsic information is modeled by the informationreceived from M=log₂ (N) parallel BSC with capacity equal to

$C_{l} = \frac{I_{l}}{M}$where I_(l) is the total information at the output of the lthcorresponding resource nodes attached to the layer node. When the layernode is connected to multiple links, we model it by having parallelindependent BSC channels. The capacity of this channel is given by thefollowing, assuming that there are L parallel links each with errorprobability of 0≦p_(l)≦½, l=1, . . . , L, where C_(l)=1+p_(l)log₂(p_(l))+q_(l) log₂(q_(l)), and q_(l)=1−p_(l)

$C = {- {M( {{\sum\limits_{m = 0}^{2^{L} - 1}{X_{m}{\log_{2}( X_{m} )}}} + {\sum\limits_{l = 1}^{L}( {1 - C_{l}} )}} )}}$where$X_{m} = \frac{{\prod\limits_{l = 1}^{L}{q_{l}^{1 - a_{l\; m}}p_{l}^{a_{l\; m}}}} + {\prod\limits_{l = 1}^{L}{q_{l}^{a_{l\; m}}p_{l}^{1 - a_{l\; m}}}}}{2}$and a_(lm) is the bit in the lth position of L-bit binary representationof m=0, . . . , 2^(L)−1.

FIG. 30 is a block diagram of a processing system that may be used forimplementing the devices and methods disclosed herein. Specific devicesmay utilize all of the components shown, or only a subset of thecomponents, and levels of integration may vary from device to device.Furthermore, a device may contain multiple instances of a component,such as multiple processing units, processors, memories, transmitters,receivers, etc. The processing system may comprise a processing unitequipped with one or more input/output devices, such as a speaker,microphone, mouse, touchscreen, keypad, keyboard, printer, display, andthe like. The processing unit may include a central processing unit(CPU), memory, a mass storage device, a video adapter, and an I/Ointerface connected to a bus.

The bus may be one or more of any type of several bus architecturesincluding a memory bus or memory controller, a peripheral bus, videobus, or the like. The CPU may comprise any type of electronic dataprocessor. The memory may comprise any type of system memory such asstatic random access memory (SRAM), dynamic random access memory (DRAM),synchronous DRAM (SDRAM), read-only memory (ROM), a combination thereof,or the like. In an embodiment, the memory may include ROM for use atboot-up, and DRAM for program and data storage for use while executingprograms.

The mass storage device may comprise any type of storage deviceconfigured to store data, programs, and other information and to makethe data, programs, and other information accessible via the bus. Themass storage device may comprise, for example, one or more of a solidstate drive, hard disk drive, a magnetic disk drive, an optical diskdrive, or the like.

The video adapter and the I/O interface provide interfaces to coupleexternal input and output devices to the processing unit. Asillustrated, examples of input and output devices include the displaycoupled to the video adapter and the mouse/keyboard/printer coupled tothe I/O interface. Other devices may be coupled to the processing unit,and additional or fewer interface cards may be utilized. For example, aserial interface such as Universal Serial Bus (USB) (not shown) may beused to provide an interface for a printer.

The processing unit also includes one or more network interfaces, whichmay comprise wired links, such as an Ethernet cable or the like, and/orwireless links to access nodes or different networks. The networkinterface allows the processing unit to communicate with remote unitsvia the networks. For example, the network interface may providewireless communication via one or more transmitters/transmit antennasand one or more receivers/receive antennas. In an embodiment, theprocessing unit is coupled to a local-area network or a wide-areanetwork for data processing and communications with remote devices, suchas other processing units, the Internet, remote storage facilities, orthe like.

FIG. 31 illustrates a block diagram of an embodiment of a communicationsdevice 3100, which may be equivalent to one or more devices (e.g., UEs,NBs, etc.) discussed above. The communications device 3100 may include aprocessor 3104, a memory 3106, a cellular interface 3110, a supplementalwireless interface 3112, and a supplemental interface 3114, which may(or may not) be arranged as shown in FIG. 31. The processor 3104 may beany component capable of performing computations and/or other processingrelated tasks, and the memory 3106 may be any component capable ofstoring programming and/or instructions for the processor 3104. Thecellular interface 3110 may be any component or collection of componentsthat allows the communications device 3100 to communicate using acellular signal, and may be used to receive and/or transmit informationover a cellular connection of a cellular network. The supplementalwireless interface 3112 may be any component or collection of componentsthat allows the communications device 3100 to communicate via anon-cellular wireless protocol, such as a Wi-Fi or Bluetooth protocol,or a control protocol. The device 3100 may use the cellular interface3110 and/or the supplemental wireless interface 3112 to communicate withany wirelessly enabled component, e.g., a base station, relay, mobiledevice, etc. The supplemental interface 3114 may be any component orcollection of components that allows the communications device 3100 tocommunicate via a supplemental protocol, including wire-line protocols.In embodiments, the supplemental interface 3114 may allow the device3100 to communicate with another component, such as a backhaul networkcomponent.

While embodiments of this disclosure has been described with referenceto illustrative embodiments, this description is not intended to beconstrued in a limiting sense. Various modifications and combinations ofthe illustrative embodiments, as well as other embodiments of thisdisclosure, will be apparent to persons skilled in the art uponreference to the description. It is therefore intended that the appendedclaims encompass any such modifications or embodiments.

What is claimed is:
 1. A method for multiplexing data, the methodcomprising: receiving a first binary or M-ary data associated with afirst multiplexed layer; encoding the first binary or M-ary data bymapping the first binary or M-ary data directly to a first codewordassociated with a binary or M-ary value of the first binary or M-arydata without mapping the first binary or M-ary data to an intermediatemodulation symbol, wherein the first codeword is from a first codebookassigned exclusively to the first multiplexed layer; multiplexing thefirst codeword with at least a second codeword from a second codebook toobtain multiplexed codewords, wherein the second codebook is assignedexclusively to a second multiplexed layer; and transmitting themultiplexed codewords over shared resources of a network.
 2. The methodof claim 1, wherein encoding the first binary or M-ary data by selectingthe first codeword comprises: selecting the first codeword from a firstset of codewords in the first codebook in accordance with the binary orM-ary value of the first binary or M-ary data, wherein each codeword inthe first set of codewords is associated with a different binary orM-ary value.
 3. The method of claim 2, wherein each codeword in thefirst set of codewords comprises a low density of non-zero values suchthat the corresponding codeword can be detected within multiplexedcodewords in accordance with a message passing algorithm (MPA).
 4. Themethod of claim 1, wherein the first multiplexed layer is associatedwith a first user and the second multiplexed layer is associated with asecond user.
 5. The method of claim 1, wherein the first multiplexedlayer and the second multiplexed layer carry separate data streamsassociated with a common.
 6. The method of claim 5, wherein the firstmultiplexed layer and the second multiplexed layer occupy differentmultiple-input-multiple-output (MIMO) spatial layers.
 7. The method ofclaim 5, wherein the first multiplexed layer and the second multiplexedlayer occupy different Orthogonal Frequency-Division Multiple Access(OFDMA) tones.
 8. A transmitter comprising: a processor; and a computerreadable storage medium storing programming for execution by theprocessor, the programming including instructions to: receive a firstbinary or M-ary data associated with a first multiplexed layer; encodethe first binary or M-ary data by mapping the first binary or M-ary datadirectly to a first codeword associated with a binary or M-ary value ofthe first binary or M-ary data without mapping the first binary or M-arydata to an intermediate modulation symbol, wherein the first codeword isfrom a first codebook assigned exclusively to the first multiplexedlayer; multiplex the first codeword with at least a second codeword froma second codebook to obtain multiplexed codewords, wherein the secondcodebook is assigned exclusively to a second multiplexed layer; andtransmit the multiplexed codewords over shared resources of a network.9. A method for receiving data, the method comprising: receiving asignal carrying multiplexed codewords, the multiplexed codewordsincluding a plurality of codewords communicated over shared resources ofa network, wherein each of the plurality of codewords belongs to adifferent one of a plurality of codebooks, wherein each of the pluralityof codebooks are associated with a different one of a plurality ofmultiplexed layers; identifying, by a receiver, a first one of theplurality of codewords within the multiplexed codewords, the firstcodeword belonging to a first one of the plurality of codebooks assignedexclusively to a first one of the plurality of multiplexed layers,wherein the receiver is associated with the first multiplexed layer; anddecoding the first codeword by directly mapping the first codeword to afirst binary or M-ary value without identifying an intermediatemodulation symbol.
 10. The method of claim 9, wherein identifying thefirst codeword within the multiplexed codewords comprises applying amessage passing algorithm (MPA) to detect the first codeword amongst theplurality of codewords included within the multiplexed codewords. 11.The method of claim 10, wherein each codeword in the first codebook isassociated with a different binary or M-ary value.
 12. The method ofclaim 10, wherein different ones of the plurality of multiplexed layersoccupy different multiple-input-multiple-output (MIMO) spatial layers.13. The method of claim 9, wherein different ones of the plurality ofmultiplexed layers occupy different Orthogonal Frequency-DivisionMultiple Access (OFDMA) tones.
 14. A receiver comprising: a processor;and a computer readable storage medium storing programming for executionby the processor, the programming including instructions to: receive asignal carrying multiplexed codewords, the multiplexed codewordsincluding a plurality of codewords communicated over shared resources ofa network, wherein each of the plurality of codewords belongs to adifferent one of a plurality of codebooks, wherein each of the pluralityof codebooks are associated with a different one of a plurality ofmultiplexed layers; identify a first one of the plurality of codewordswithin the multiplexed codewords, the first codeword belonging to afirst one of the plurality of codebooks assigned exclusively to a firstone of the plurality of multiplexed layers, wherein the receiver isassociated with the first multiplexed layer; and decode the firstcodeword by directly mapping the first codeword to a first binary orM-ary data without identifying an intermediate modulation symbol.
 15. Amethod for designing Sparse Code Multiple Access (SCMA) code, the methodcomprising: generating a plurality of multi-dimensional modulationcodebooks; and generating a plurality of sparse codebooks from theplurality of multi-dimensional modulation codebooks, wherein each of theplurality of sparse codebooks comprises a plurality of sparse codewords,and wherein different sparse codewords within a sparse codebook arepre-associated with different binary or M-ary values prior to dataencoding.
 16. The method of claim 15, wherein each codeword in theplurality of sparse codebooks comprise a low density of non-zero valuessuch that the corresponding codeword can be detected within multiplexedcodewords in accordance with a message passing algorithm (MPA).
 17. Themethod of claim 15, wherein each of plurality of multi-dimensionalmodulation codebooks are assigned to a different multiplexed layer. 18.A method for designing Sparse Code Multiple Access (SCMA) code, themethod comprising: generating a plurality of mapping matrices;generating at least one multi-dimensional constellation; modifying apermutation operator in accordance with an optimization algorithm to theat least one multi-dimensional constellation; and generating SCMAcodewords in accordance with the mapping matrices, the at least onemulti-dimensional constellation, and the modified permutation operator,wherein modifying the permutation operator in accordance with theoptimization algorithm increases power diversity over interfering layersassociated with the SCMA codewords.
 19. A method for designing lowdensity signature (LDS) code, the method comprising: generating aplurality of mapping matrices; modifying one or more phase operators inaccordance with an optimization algorithm; and generating LDS signaturesin accordance with the mapping matrices, and the one or more modifiedphase operators, wherein modifying the one or more phase operatorsincreases a Euclidian distance between interfering layers associatedwith the LDS signatures.
 20. The method of claim 19, wherein each of theLDS signatures are assigned to a different multiplexed layer.
 21. Amethod for designing Sparse Code Multiple Access (SCMA) code, the methodcomprising: generating a plurality of mapping matrices; generating amulti-dimensional constellation; modifying a phase or conjugate operatorin accordance with an optimization algorithm; and generating SCMAcodewords in accordance with the mapping matrices, the multi-dimensionalconstellation, and the modified phase or conjugate operator, whereinmodifying the phase or conjugate operators increases a Euclidiandistance between interfering layers associated with the SCMA codewords.